/*
** Copyright @ 2012-2019, Kingsoft office,All rights reserved.
**
** Redistribution and use in source and binary forms ,without modification and
** selling solely, are permitted provided that the following conditions are
** met:
**
** 1.Redistributions of source code must retain the above copyright notice,
**   this list of conditions and the following disclaimer.
** 2.Redistributions in binary form must reproduce the above copyright notice,
**	 this list of conditions and the following disclaimer in the documentation
**	 and/or other materials provided with the distribution.
** 3.Neither the name of the copyright holder nor the names of its contributors
**	 may be used to endorse or promote products derived from this software
**	 without specific prior written permission.
**
** SPECIAL NOTE:THIS SOFTWARE IS NOT PERMITTED TO BE MODIFIED OR SOLD SOLELY AT
** ANY TIME AND UNDER ANY CIRCUMSTANCES, EXCEPT WITH THE WRITTEN PERMISSION OF
** KINGSOFT OFFICE
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
** POSSIBILITY OF SUCH DAMAGE.
**/
/*** Autogenerated by IDLC 1.8.0 from /home/ken/wps/wps/func_m5_multi_platform_20150214_branch/Coding/api/ksoapi/ksoapi.idl - Do not edit ***/

#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif


#ifndef __ksoapih__
#define __ksoapih__

namespace ksoapi {
/* Forward Declarations */ 

#ifndef __IAccessible_FWD_DEFINED__
#define __IAccessible_FWD_DEFINED__
typedef interface IAccessible IAccessible;
#endif 	/* __IAccessible_FWD_DEFINED__ */


#ifndef ___IMsoDispObj_FWD_DEFINED__
#define ___IMsoDispObj_FWD_DEFINED__
typedef interface _IMsoDispObj _IMsoDispObj;
#endif 	/* ___IMsoDispObj_FWD_DEFINED__ */


#ifndef ___IMsoOleAccDispObj_FWD_DEFINED__
#define ___IMsoOleAccDispObj_FWD_DEFINED__
typedef interface _IMsoOleAccDispObj _IMsoOleAccDispObj;
#endif 	/* ___IMsoOleAccDispObj_FWD_DEFINED__ */


#ifndef ___CommandBars_FWD_DEFINED__
#define ___CommandBars_FWD_DEFINED__
typedef interface _CommandBars _CommandBars;
#endif 	/* ___CommandBars_FWD_DEFINED__ */


#ifndef __CommandBar_FWD_DEFINED__
#define __CommandBar_FWD_DEFINED__
typedef interface CommandBar CommandBar;
#endif 	/* __CommandBar_FWD_DEFINED__ */


#ifndef __CommandBarControls_FWD_DEFINED__
#define __CommandBarControls_FWD_DEFINED__
typedef interface CommandBarControls CommandBarControls;
#endif 	/* __CommandBarControls_FWD_DEFINED__ */


#ifndef __CommandBarControl_FWD_DEFINED__
#define __CommandBarControl_FWD_DEFINED__
typedef interface CommandBarControl CommandBarControl;
#endif 	/* __CommandBarControl_FWD_DEFINED__ */


#ifndef ___CommandBarButton_FWD_DEFINED__
#define ___CommandBarButton_FWD_DEFINED__
typedef interface _CommandBarButton _CommandBarButton;
#endif 	/* ___CommandBarButton_FWD_DEFINED__ */


#ifndef __CommandBarPopup_FWD_DEFINED__
#define __CommandBarPopup_FWD_DEFINED__
typedef interface CommandBarPopup CommandBarPopup;
#endif 	/* __CommandBarPopup_FWD_DEFINED__ */


#ifndef ___CommandBarComboBox_FWD_DEFINED__
#define ___CommandBarComboBox_FWD_DEFINED__
typedef interface _CommandBarComboBox _CommandBarComboBox;
#endif 	/* ___CommandBarComboBox_FWD_DEFINED__ */


#ifndef ___CommandBarActiveX_FWD_DEFINED__
#define ___CommandBarActiveX_FWD_DEFINED__
typedef interface _CommandBarActiveX _CommandBarActiveX;
#endif 	/* ___CommandBarActiveX_FWD_DEFINED__ */


#ifndef __Adjustments_FWD_DEFINED__
#define __Adjustments_FWD_DEFINED__
typedef interface Adjustments Adjustments;
#endif 	/* __Adjustments_FWD_DEFINED__ */


#ifndef __CalloutFormat_FWD_DEFINED__
#define __CalloutFormat_FWD_DEFINED__
typedef interface CalloutFormat CalloutFormat;
#endif 	/* __CalloutFormat_FWD_DEFINED__ */


#ifndef __ColorFormat_FWD_DEFINED__
#define __ColorFormat_FWD_DEFINED__
typedef interface ColorFormat ColorFormat;
#endif 	/* __ColorFormat_FWD_DEFINED__ */


#ifndef __ConnectorFormat_FWD_DEFINED__
#define __ConnectorFormat_FWD_DEFINED__
typedef interface ConnectorFormat ConnectorFormat;
#endif 	/* __ConnectorFormat_FWD_DEFINED__ */


#ifndef __FillFormat_FWD_DEFINED__
#define __FillFormat_FWD_DEFINED__
typedef interface FillFormat FillFormat;
#endif 	/* __FillFormat_FWD_DEFINED__ */


#ifndef __FreeformBuilder_FWD_DEFINED__
#define __FreeformBuilder_FWD_DEFINED__
typedef interface FreeformBuilder FreeformBuilder;
#endif 	/* __FreeformBuilder_FWD_DEFINED__ */


#ifndef __GroupShapes_FWD_DEFINED__
#define __GroupShapes_FWD_DEFINED__
typedef interface GroupShapes GroupShapes;
#endif 	/* __GroupShapes_FWD_DEFINED__ */


#ifndef __LineFormat_FWD_DEFINED__
#define __LineFormat_FWD_DEFINED__
typedef interface LineFormat LineFormat;
#endif 	/* __LineFormat_FWD_DEFINED__ */


#ifndef __ShapeNode_FWD_DEFINED__
#define __ShapeNode_FWD_DEFINED__
typedef interface ShapeNode ShapeNode;
#endif 	/* __ShapeNode_FWD_DEFINED__ */


#ifndef __ShapeNodes_FWD_DEFINED__
#define __ShapeNodes_FWD_DEFINED__
typedef interface ShapeNodes ShapeNodes;
#endif 	/* __ShapeNodes_FWD_DEFINED__ */


#ifndef __PictureFormat_FWD_DEFINED__
#define __PictureFormat_FWD_DEFINED__
typedef interface PictureFormat PictureFormat;
#endif 	/* __PictureFormat_FWD_DEFINED__ */


#ifndef __ShadowFormat_FWD_DEFINED__
#define __ShadowFormat_FWD_DEFINED__
typedef interface ShadowFormat ShadowFormat;
#endif 	/* __ShadowFormat_FWD_DEFINED__ */


#ifndef __Script_FWD_DEFINED__
#define __Script_FWD_DEFINED__
typedef interface Script Script;
#endif 	/* __Script_FWD_DEFINED__ */


#ifndef __Scripts_FWD_DEFINED__
#define __Scripts_FWD_DEFINED__
typedef interface Scripts Scripts;
#endif 	/* __Scripts_FWD_DEFINED__ */


#ifndef __Shape_FWD_DEFINED__
#define __Shape_FWD_DEFINED__
typedef interface Shape Shape;
#endif 	/* __Shape_FWD_DEFINED__ */


#ifndef __ShapeRange_FWD_DEFINED__
#define __ShapeRange_FWD_DEFINED__
typedef interface ShapeRange ShapeRange;
#endif 	/* __ShapeRange_FWD_DEFINED__ */


#ifndef __Shapes_FWD_DEFINED__
#define __Shapes_FWD_DEFINED__
typedef interface Shapes Shapes;
#endif 	/* __Shapes_FWD_DEFINED__ */


#ifndef __TextEffectFormat_FWD_DEFINED__
#define __TextEffectFormat_FWD_DEFINED__
typedef interface TextEffectFormat TextEffectFormat;
#endif 	/* __TextEffectFormat_FWD_DEFINED__ */


#ifndef __TextFrame_FWD_DEFINED__
#define __TextFrame_FWD_DEFINED__
typedef interface TextFrame TextFrame;
#endif 	/* __TextFrame_FWD_DEFINED__ */


#ifndef __ThreeDFormat_FWD_DEFINED__
#define __ThreeDFormat_FWD_DEFINED__
typedef interface ThreeDFormat ThreeDFormat;
#endif 	/* __ThreeDFormat_FWD_DEFINED__ */


#ifndef __IMsoDispCagNotifySink_FWD_DEFINED__
#define __IMsoDispCagNotifySink_FWD_DEFINED__
typedef interface IMsoDispCagNotifySink IMsoDispCagNotifySink;
#endif 	/* __IMsoDispCagNotifySink_FWD_DEFINED__ */


#ifndef __Balloon_FWD_DEFINED__
#define __Balloon_FWD_DEFINED__
typedef interface Balloon Balloon;
#endif 	/* __Balloon_FWD_DEFINED__ */


#ifndef __BalloonCheckboxes_FWD_DEFINED__
#define __BalloonCheckboxes_FWD_DEFINED__
typedef interface BalloonCheckboxes BalloonCheckboxes;
#endif 	/* __BalloonCheckboxes_FWD_DEFINED__ */


#ifndef __BalloonCheckbox_FWD_DEFINED__
#define __BalloonCheckbox_FWD_DEFINED__
typedef interface BalloonCheckbox BalloonCheckbox;
#endif 	/* __BalloonCheckbox_FWD_DEFINED__ */


#ifndef __BalloonLabels_FWD_DEFINED__
#define __BalloonLabels_FWD_DEFINED__
typedef interface BalloonLabels BalloonLabels;
#endif 	/* __BalloonLabels_FWD_DEFINED__ */


#ifndef __BalloonLabel_FWD_DEFINED__
#define __BalloonLabel_FWD_DEFINED__
typedef interface BalloonLabel BalloonLabel;
#endif 	/* __BalloonLabel_FWD_DEFINED__ */


#ifndef __AnswerWizardFiles_FWD_DEFINED__
#define __AnswerWizardFiles_FWD_DEFINED__
typedef interface AnswerWizardFiles AnswerWizardFiles;
#endif 	/* __AnswerWizardFiles_FWD_DEFINED__ */


#ifndef __AnswerWizard_FWD_DEFINED__
#define __AnswerWizard_FWD_DEFINED__
typedef interface AnswerWizard AnswerWizard;
#endif 	/* __AnswerWizard_FWD_DEFINED__ */


#ifndef __Assistant_FWD_DEFINED__
#define __Assistant_FWD_DEFINED__
typedef interface Assistant Assistant;
#endif 	/* __Assistant_FWD_DEFINED__ */


#ifndef __DocumentProperty_FWD_DEFINED__
#define __DocumentProperty_FWD_DEFINED__
typedef interface DocumentProperty DocumentProperty;
#endif 	/* __DocumentProperty_FWD_DEFINED__ */


#ifndef __DocumentProperties_FWD_DEFINED__
#define __DocumentProperties_FWD_DEFINED__
typedef interface DocumentProperties DocumentProperties;
#endif 	/* __DocumentProperties_FWD_DEFINED__ */


#ifndef __IFoundFiles_FWD_DEFINED__
#define __IFoundFiles_FWD_DEFINED__
typedef interface IFoundFiles IFoundFiles;
#endif 	/* __IFoundFiles_FWD_DEFINED__ */


#ifndef __IFind_FWD_DEFINED__
#define __IFind_FWD_DEFINED__
typedef interface IFind IFind;
#endif 	/* __IFind_FWD_DEFINED__ */


#ifndef __FoundFiles_FWD_DEFINED__
#define __FoundFiles_FWD_DEFINED__
typedef interface FoundFiles FoundFiles;
#endif 	/* __FoundFiles_FWD_DEFINED__ */


#ifndef __PropertyTest_FWD_DEFINED__
#define __PropertyTest_FWD_DEFINED__
typedef interface PropertyTest PropertyTest;
#endif 	/* __PropertyTest_FWD_DEFINED__ */


#ifndef __PropertyTests_FWD_DEFINED__
#define __PropertyTests_FWD_DEFINED__
typedef interface PropertyTests PropertyTests;
#endif 	/* __PropertyTests_FWD_DEFINED__ */


#ifndef __FileSearch_FWD_DEFINED__
#define __FileSearch_FWD_DEFINED__
typedef interface FileSearch FileSearch;
#endif 	/* __FileSearch_FWD_DEFINED__ */


#ifndef __COMAddIn_FWD_DEFINED__
#define __COMAddIn_FWD_DEFINED__
typedef interface COMAddIn COMAddIn;
#endif 	/* __COMAddIn_FWD_DEFINED__ */


#ifndef __COMAddIns_FWD_DEFINED__
#define __COMAddIns_FWD_DEFINED__
typedef interface COMAddIns COMAddIns;
#endif 	/* __COMAddIns_FWD_DEFINED__ */


#ifndef __LanguageSettings_FWD_DEFINED__
#define __LanguageSettings_FWD_DEFINED__
typedef interface LanguageSettings LanguageSettings;
#endif 	/* __LanguageSettings_FWD_DEFINED__ */


#ifndef __ICommandBarsEvents_FWD_DEFINED__
#define __ICommandBarsEvents_FWD_DEFINED__
typedef interface ICommandBarsEvents ICommandBarsEvents;
#endif 	/* __ICommandBarsEvents_FWD_DEFINED__ */


#ifndef ___CommandBarsEvents_FWD_DEFINED__
#define ___CommandBarsEvents_FWD_DEFINED__
typedef interface _CommandBarsEvents _CommandBarsEvents;
#endif 	/* ___CommandBarsEvents_FWD_DEFINED__ */


#ifndef __ICommandBarComboBoxEvents_FWD_DEFINED__
#define __ICommandBarComboBoxEvents_FWD_DEFINED__
typedef interface ICommandBarComboBoxEvents ICommandBarComboBoxEvents;
#endif 	/* __ICommandBarComboBoxEvents_FWD_DEFINED__ */


#ifndef ___CommandBarComboBoxEvents_FWD_DEFINED__
#define ___CommandBarComboBoxEvents_FWD_DEFINED__
typedef interface _CommandBarComboBoxEvents _CommandBarComboBoxEvents;
#endif 	/* ___CommandBarComboBoxEvents_FWD_DEFINED__ */


#ifndef __ICommandBarButtonEvents_FWD_DEFINED__
#define __ICommandBarButtonEvents_FWD_DEFINED__
typedef interface ICommandBarButtonEvents ICommandBarButtonEvents;
#endif 	/* __ICommandBarButtonEvents_FWD_DEFINED__ */


#ifndef ___CommandBarButtonEvents_FWD_DEFINED__
#define ___CommandBarButtonEvents_FWD_DEFINED__
typedef interface _CommandBarButtonEvents _CommandBarButtonEvents;
#endif 	/* ___CommandBarButtonEvents_FWD_DEFINED__ */


#ifndef __WebPageFont_FWD_DEFINED__
#define __WebPageFont_FWD_DEFINED__
typedef interface WebPageFont WebPageFont;
#endif 	/* __WebPageFont_FWD_DEFINED__ */


#ifndef __WebPageFonts_FWD_DEFINED__
#define __WebPageFonts_FWD_DEFINED__
typedef interface WebPageFonts WebPageFonts;
#endif 	/* __WebPageFonts_FWD_DEFINED__ */


#ifndef __HTMLProjectItem_FWD_DEFINED__
#define __HTMLProjectItem_FWD_DEFINED__
typedef interface HTMLProjectItem HTMLProjectItem;
#endif 	/* __HTMLProjectItem_FWD_DEFINED__ */


#ifndef __HTMLProjectItems_FWD_DEFINED__
#define __HTMLProjectItems_FWD_DEFINED__
typedef interface HTMLProjectItems HTMLProjectItems;
#endif 	/* __HTMLProjectItems_FWD_DEFINED__ */


#ifndef __HTMLProject_FWD_DEFINED__
#define __HTMLProject_FWD_DEFINED__
typedef interface HTMLProject HTMLProject;
#endif 	/* __HTMLProject_FWD_DEFINED__ */


#ifndef __MsoDebugOptions_FWD_DEFINED__
#define __MsoDebugOptions_FWD_DEFINED__
typedef interface MsoDebugOptions MsoDebugOptions;
#endif 	/* __MsoDebugOptions_FWD_DEFINED__ */


#ifndef __FileDialogSelectedItems_FWD_DEFINED__
#define __FileDialogSelectedItems_FWD_DEFINED__
typedef interface FileDialogSelectedItems FileDialogSelectedItems;
#endif 	/* __FileDialogSelectedItems_FWD_DEFINED__ */


#ifndef __FileDialogFilter_FWD_DEFINED__
#define __FileDialogFilter_FWD_DEFINED__
typedef interface FileDialogFilter FileDialogFilter;
#endif 	/* __FileDialogFilter_FWD_DEFINED__ */


#ifndef __FileDialogFilters_FWD_DEFINED__
#define __FileDialogFilters_FWD_DEFINED__
typedef interface FileDialogFilters FileDialogFilters;
#endif 	/* __FileDialogFilters_FWD_DEFINED__ */


#ifndef __FileDialog_FWD_DEFINED__
#define __FileDialog_FWD_DEFINED__
typedef interface FileDialog FileDialog;
#endif 	/* __FileDialog_FWD_DEFINED__ */


#ifndef __SignatureSet_FWD_DEFINED__
#define __SignatureSet_FWD_DEFINED__
typedef interface SignatureSet SignatureSet;
#endif 	/* __SignatureSet_FWD_DEFINED__ */


#ifndef __Signature_FWD_DEFINED__
#define __Signature_FWD_DEFINED__
typedef interface Signature Signature;
#endif 	/* __Signature_FWD_DEFINED__ */


#ifndef __IMsoEnvelopeVB_FWD_DEFINED__
#define __IMsoEnvelopeVB_FWD_DEFINED__
typedef interface IMsoEnvelopeVB IMsoEnvelopeVB;
#endif 	/* __IMsoEnvelopeVB_FWD_DEFINED__ */


#ifndef __IMsoEnvelopeVBEvents_FWD_DEFINED__
#define __IMsoEnvelopeVBEvents_FWD_DEFINED__
typedef interface IMsoEnvelopeVBEvents IMsoEnvelopeVBEvents;
#endif 	/* __IMsoEnvelopeVBEvents_FWD_DEFINED__ */


#ifndef __FileTypes_FWD_DEFINED__
#define __FileTypes_FWD_DEFINED__
typedef interface FileTypes FileTypes;
#endif 	/* __FileTypes_FWD_DEFINED__ */


#ifndef __SearchFolders_FWD_DEFINED__
#define __SearchFolders_FWD_DEFINED__
typedef interface SearchFolders SearchFolders;
#endif 	/* __SearchFolders_FWD_DEFINED__ */


#ifndef __ScopeFolders_FWD_DEFINED__
#define __ScopeFolders_FWD_DEFINED__
typedef interface ScopeFolders ScopeFolders;
#endif 	/* __ScopeFolders_FWD_DEFINED__ */


#ifndef __ScopeFolder_FWD_DEFINED__
#define __ScopeFolder_FWD_DEFINED__
typedef interface ScopeFolder ScopeFolder;
#endif 	/* __ScopeFolder_FWD_DEFINED__ */


#ifndef __SearchScope_FWD_DEFINED__
#define __SearchScope_FWD_DEFINED__
typedef interface SearchScope SearchScope;
#endif 	/* __SearchScope_FWD_DEFINED__ */


#ifndef __SearchScopes_FWD_DEFINED__
#define __SearchScopes_FWD_DEFINED__
typedef interface SearchScopes SearchScopes;
#endif 	/* __SearchScopes_FWD_DEFINED__ */


#ifndef __IMsoDiagram_FWD_DEFINED__
#define __IMsoDiagram_FWD_DEFINED__
typedef interface IMsoDiagram IMsoDiagram;
#endif 	/* __IMsoDiagram_FWD_DEFINED__ */


#ifndef __DiagramNodes_FWD_DEFINED__
#define __DiagramNodes_FWD_DEFINED__
typedef interface DiagramNodes DiagramNodes;
#endif 	/* __DiagramNodes_FWD_DEFINED__ */


#ifndef __DiagramNodeChildren_FWD_DEFINED__
#define __DiagramNodeChildren_FWD_DEFINED__
typedef interface DiagramNodeChildren DiagramNodeChildren;
#endif 	/* __DiagramNodeChildren_FWD_DEFINED__ */


#ifndef __DiagramNode_FWD_DEFINED__
#define __DiagramNode_FWD_DEFINED__
typedef interface DiagramNode DiagramNode;
#endif 	/* __DiagramNode_FWD_DEFINED__ */


#ifndef __CanvasShapes_FWD_DEFINED__
#define __CanvasShapes_FWD_DEFINED__
typedef interface CanvasShapes CanvasShapes;
#endif 	/* __CanvasShapes_FWD_DEFINED__ */


#ifndef __OfficeDataSourceObject_FWD_DEFINED__
#define __OfficeDataSourceObject_FWD_DEFINED__
typedef interface OfficeDataSourceObject OfficeDataSourceObject;
#endif 	/* __OfficeDataSourceObject_FWD_DEFINED__ */


#ifndef __ODSOColumn_FWD_DEFINED__
#define __ODSOColumn_FWD_DEFINED__
typedef interface ODSOColumn ODSOColumn;
#endif 	/* __ODSOColumn_FWD_DEFINED__ */


#ifndef __ODSOColumns_FWD_DEFINED__
#define __ODSOColumns_FWD_DEFINED__
typedef interface ODSOColumns ODSOColumns;
#endif 	/* __ODSOColumns_FWD_DEFINED__ */


#ifndef __ODSOFilter_FWD_DEFINED__
#define __ODSOFilter_FWD_DEFINED__
typedef interface ODSOFilter ODSOFilter;
#endif 	/* __ODSOFilter_FWD_DEFINED__ */


#ifndef __ODSOFilters_FWD_DEFINED__
#define __ODSOFilters_FWD_DEFINED__
typedef interface ODSOFilters ODSOFilters;
#endif 	/* __ODSOFilters_FWD_DEFINED__ */


#ifndef __NewFile_FWD_DEFINED__
#define __NewFile_FWD_DEFINED__
typedef interface NewFile NewFile;
#endif 	/* __NewFile_FWD_DEFINED__ */


#ifndef __WebComponent_FWD_DEFINED__
#define __WebComponent_FWD_DEFINED__
typedef interface WebComponent WebComponent;
#endif 	/* __WebComponent_FWD_DEFINED__ */


#ifndef __WebComponentWindowExternal_FWD_DEFINED__
#define __WebComponentWindowExternal_FWD_DEFINED__
typedef interface WebComponentWindowExternal WebComponentWindowExternal;
#endif 	/* __WebComponentWindowExternal_FWD_DEFINED__ */


#ifndef __WebComponentFormat_FWD_DEFINED__
#define __WebComponentFormat_FWD_DEFINED__
typedef interface WebComponentFormat WebComponentFormat;
#endif 	/* __WebComponentFormat_FWD_DEFINED__ */


#ifndef __ILicWizExternal_FWD_DEFINED__
#define __ILicWizExternal_FWD_DEFINED__
typedef interface ILicWizExternal ILicWizExternal;
#endif 	/* __ILicWizExternal_FWD_DEFINED__ */


#ifndef __ILicValidator_FWD_DEFINED__
#define __ILicValidator_FWD_DEFINED__
typedef interface ILicValidator ILicValidator;
#endif 	/* __ILicValidator_FWD_DEFINED__ */


#ifndef __ILicAgent_FWD_DEFINED__
#define __ILicAgent_FWD_DEFINED__
typedef interface ILicAgent ILicAgent;
#endif 	/* __ILicAgent_FWD_DEFINED__ */


#ifndef __IMsoEServicesDialog_FWD_DEFINED__
#define __IMsoEServicesDialog_FWD_DEFINED__
typedef interface IMsoEServicesDialog IMsoEServicesDialog;
#endif 	/* __IMsoEServicesDialog_FWD_DEFINED__ */


#ifndef __WebComponentProperties_FWD_DEFINED__
#define __WebComponentProperties_FWD_DEFINED__
typedef interface WebComponentProperties WebComponentProperties;
#endif 	/* __WebComponentProperties_FWD_DEFINED__ */


#ifndef __SmartDocument_FWD_DEFINED__
#define __SmartDocument_FWD_DEFINED__
typedef interface SmartDocument SmartDocument;
#endif 	/* __SmartDocument_FWD_DEFINED__ */


#ifndef __SharedWorkspaceMember_FWD_DEFINED__
#define __SharedWorkspaceMember_FWD_DEFINED__
typedef interface SharedWorkspaceMember SharedWorkspaceMember;
#endif 	/* __SharedWorkspaceMember_FWD_DEFINED__ */


#ifndef __SharedWorkspaceMembers_FWD_DEFINED__
#define __SharedWorkspaceMembers_FWD_DEFINED__
typedef interface SharedWorkspaceMembers SharedWorkspaceMembers;
#endif 	/* __SharedWorkspaceMembers_FWD_DEFINED__ */


#ifndef __SharedWorkspaceTask_FWD_DEFINED__
#define __SharedWorkspaceTask_FWD_DEFINED__
typedef interface SharedWorkspaceTask SharedWorkspaceTask;
#endif 	/* __SharedWorkspaceTask_FWD_DEFINED__ */


#ifndef __SharedWorkspaceTasks_FWD_DEFINED__
#define __SharedWorkspaceTasks_FWD_DEFINED__
typedef interface SharedWorkspaceTasks SharedWorkspaceTasks;
#endif 	/* __SharedWorkspaceTasks_FWD_DEFINED__ */


#ifndef __SharedWorkspaceFile_FWD_DEFINED__
#define __SharedWorkspaceFile_FWD_DEFINED__
typedef interface SharedWorkspaceFile SharedWorkspaceFile;
#endif 	/* __SharedWorkspaceFile_FWD_DEFINED__ */


#ifndef __SharedWorkspaceFiles_FWD_DEFINED__
#define __SharedWorkspaceFiles_FWD_DEFINED__
typedef interface SharedWorkspaceFiles SharedWorkspaceFiles;
#endif 	/* __SharedWorkspaceFiles_FWD_DEFINED__ */


#ifndef __SharedWorkspaceFolder_FWD_DEFINED__
#define __SharedWorkspaceFolder_FWD_DEFINED__
typedef interface SharedWorkspaceFolder SharedWorkspaceFolder;
#endif 	/* __SharedWorkspaceFolder_FWD_DEFINED__ */


#ifndef __SharedWorkspaceFolders_FWD_DEFINED__
#define __SharedWorkspaceFolders_FWD_DEFINED__
typedef interface SharedWorkspaceFolders SharedWorkspaceFolders;
#endif 	/* __SharedWorkspaceFolders_FWD_DEFINED__ */


#ifndef __SharedWorkspaceLink_FWD_DEFINED__
#define __SharedWorkspaceLink_FWD_DEFINED__
typedef interface SharedWorkspaceLink SharedWorkspaceLink;
#endif 	/* __SharedWorkspaceLink_FWD_DEFINED__ */


#ifndef __SharedWorkspaceLinks_FWD_DEFINED__
#define __SharedWorkspaceLinks_FWD_DEFINED__
typedef interface SharedWorkspaceLinks SharedWorkspaceLinks;
#endif 	/* __SharedWorkspaceLinks_FWD_DEFINED__ */


#ifndef __SharedWorkspace_FWD_DEFINED__
#define __SharedWorkspace_FWD_DEFINED__
typedef interface SharedWorkspace SharedWorkspace;
#endif 	/* __SharedWorkspace_FWD_DEFINED__ */


#ifndef __Sync_FWD_DEFINED__
#define __Sync_FWD_DEFINED__
typedef interface Sync Sync;
#endif 	/* __Sync_FWD_DEFINED__ */


#ifndef __DocumentLibraryVersion_FWD_DEFINED__
#define __DocumentLibraryVersion_FWD_DEFINED__
typedef interface DocumentLibraryVersion DocumentLibraryVersion;
#endif 	/* __DocumentLibraryVersion_FWD_DEFINED__ */


#ifndef __DocumentLibraryVersions_FWD_DEFINED__
#define __DocumentLibraryVersions_FWD_DEFINED__
typedef interface DocumentLibraryVersions DocumentLibraryVersions;
#endif 	/* __DocumentLibraryVersions_FWD_DEFINED__ */


#ifndef __UserPermission_FWD_DEFINED__
#define __UserPermission_FWD_DEFINED__
typedef interface UserPermission UserPermission;
#endif 	/* __UserPermission_FWD_DEFINED__ */


#ifndef __Permission_FWD_DEFINED__
#define __Permission_FWD_DEFINED__
typedef interface Permission Permission;
#endif 	/* __Permission_FWD_DEFINED__ */


#ifndef __MsoDebugOptions_UTRunResult_FWD_DEFINED__
#define __MsoDebugOptions_UTRunResult_FWD_DEFINED__
typedef interface MsoDebugOptions_UTRunResult MsoDebugOptions_UTRunResult;
#endif 	/* __MsoDebugOptions_UTRunResult_FWD_DEFINED__ */


#ifndef __MsoDebugOptions_UT_FWD_DEFINED__
#define __MsoDebugOptions_UT_FWD_DEFINED__
typedef interface MsoDebugOptions_UT MsoDebugOptions_UT;
#endif 	/* __MsoDebugOptions_UT_FWD_DEFINED__ */


#ifndef __MsoDebugOptions_UTs_FWD_DEFINED__
#define __MsoDebugOptions_UTs_FWD_DEFINED__
typedef interface MsoDebugOptions_UTs MsoDebugOptions_UTs;
#endif 	/* __MsoDebugOptions_UTs_FWD_DEFINED__ */


#ifndef __MsoDebugOptions_UTManager_FWD_DEFINED__
#define __MsoDebugOptions_UTManager_FWD_DEFINED__
typedef interface MsoDebugOptions_UTManager MsoDebugOptions_UTManager;
#endif 	/* __MsoDebugOptions_UTManager_FWD_DEFINED__ */


#ifndef __MetaProperty_FWD_DEFINED__
#define __MetaProperty_FWD_DEFINED__
typedef interface MetaProperty MetaProperty;
#endif 	/* __MetaProperty_FWD_DEFINED__ */


#ifndef __MetaProperties_FWD_DEFINED__
#define __MetaProperties_FWD_DEFINED__
typedef interface MetaProperties MetaProperties;
#endif 	/* __MetaProperties_FWD_DEFINED__ */


#ifndef __PolicyItem_FWD_DEFINED__
#define __PolicyItem_FWD_DEFINED__
typedef interface PolicyItem PolicyItem;
#endif 	/* __PolicyItem_FWD_DEFINED__ */


#ifndef __ServerPolicy_FWD_DEFINED__
#define __ServerPolicy_FWD_DEFINED__
typedef interface ServerPolicy ServerPolicy;
#endif 	/* __ServerPolicy_FWD_DEFINED__ */


#ifndef __DocumentInspector_FWD_DEFINED__
#define __DocumentInspector_FWD_DEFINED__
typedef interface DocumentInspector DocumentInspector;
#endif 	/* __DocumentInspector_FWD_DEFINED__ */


#ifndef __DocumentInspectors_FWD_DEFINED__
#define __DocumentInspectors_FWD_DEFINED__
typedef interface DocumentInspectors DocumentInspectors;
#endif 	/* __DocumentInspectors_FWD_DEFINED__ */


#ifndef __WorkflowTask_FWD_DEFINED__
#define __WorkflowTask_FWD_DEFINED__
typedef interface WorkflowTask WorkflowTask;
#endif 	/* __WorkflowTask_FWD_DEFINED__ */


#ifndef __WorkflowTasks_FWD_DEFINED__
#define __WorkflowTasks_FWD_DEFINED__
typedef interface WorkflowTasks WorkflowTasks;
#endif 	/* __WorkflowTasks_FWD_DEFINED__ */


#ifndef __WorkflowTemplate_FWD_DEFINED__
#define __WorkflowTemplate_FWD_DEFINED__
typedef interface WorkflowTemplate WorkflowTemplate;
#endif 	/* __WorkflowTemplate_FWD_DEFINED__ */


#ifndef __WorkflowTemplates_FWD_DEFINED__
#define __WorkflowTemplates_FWD_DEFINED__
typedef interface WorkflowTemplates WorkflowTemplates;
#endif 	/* __WorkflowTemplates_FWD_DEFINED__ */


#ifndef __IDocumentInspector_FWD_DEFINED__
#define __IDocumentInspector_FWD_DEFINED__
typedef interface IDocumentInspector IDocumentInspector;
#endif 	/* __IDocumentInspector_FWD_DEFINED__ */


#ifndef __SignatureSetup_FWD_DEFINED__
#define __SignatureSetup_FWD_DEFINED__
typedef interface SignatureSetup SignatureSetup;
#endif 	/* __SignatureSetup_FWD_DEFINED__ */


#ifndef __SignatureInfo_FWD_DEFINED__
#define __SignatureInfo_FWD_DEFINED__
typedef interface SignatureInfo SignatureInfo;
#endif 	/* __SignatureInfo_FWD_DEFINED__ */


#ifndef __SignatureProvider_FWD_DEFINED__
#define __SignatureProvider_FWD_DEFINED__
typedef interface SignatureProvider SignatureProvider;
#endif 	/* __SignatureProvider_FWD_DEFINED__ */


#ifndef __CustomXMLPrefixMapping_FWD_DEFINED__
#define __CustomXMLPrefixMapping_FWD_DEFINED__
typedef interface CustomXMLPrefixMapping CustomXMLPrefixMapping;
#endif 	/* __CustomXMLPrefixMapping_FWD_DEFINED__ */


#ifndef __CustomXMLPrefixMappings_FWD_DEFINED__
#define __CustomXMLPrefixMappings_FWD_DEFINED__
typedef interface CustomXMLPrefixMappings CustomXMLPrefixMappings;
#endif 	/* __CustomXMLPrefixMappings_FWD_DEFINED__ */


#ifndef __CustomXMLSchema_FWD_DEFINED__
#define __CustomXMLSchema_FWD_DEFINED__
typedef interface CustomXMLSchema CustomXMLSchema;
#endif 	/* __CustomXMLSchema_FWD_DEFINED__ */


#ifndef ___CustomXMLSchemaCollection_FWD_DEFINED__
#define ___CustomXMLSchemaCollection_FWD_DEFINED__
typedef interface _CustomXMLSchemaCollection _CustomXMLSchemaCollection;
#endif 	/* ___CustomXMLSchemaCollection_FWD_DEFINED__ */


#ifndef __CustomXMLNodes_FWD_DEFINED__
#define __CustomXMLNodes_FWD_DEFINED__
typedef interface CustomXMLNodes CustomXMLNodes;
#endif 	/* __CustomXMLNodes_FWD_DEFINED__ */


#ifndef __CustomXMLNode_FWD_DEFINED__
#define __CustomXMLNode_FWD_DEFINED__
typedef interface CustomXMLNode CustomXMLNode;
#endif 	/* __CustomXMLNode_FWD_DEFINED__ */


#ifndef __CustomXMLValidationError_FWD_DEFINED__
#define __CustomXMLValidationError_FWD_DEFINED__
typedef interface CustomXMLValidationError CustomXMLValidationError;
#endif 	/* __CustomXMLValidationError_FWD_DEFINED__ */


#ifndef __CustomXMLValidationErrors_FWD_DEFINED__
#define __CustomXMLValidationErrors_FWD_DEFINED__
typedef interface CustomXMLValidationErrors CustomXMLValidationErrors;
#endif 	/* __CustomXMLValidationErrors_FWD_DEFINED__ */


#ifndef ___CustomXMLPart_FWD_DEFINED__
#define ___CustomXMLPart_FWD_DEFINED__
typedef interface _CustomXMLPart _CustomXMLPart;
#endif 	/* ___CustomXMLPart_FWD_DEFINED__ */


#ifndef __ICustomXMLPartEvents_FWD_DEFINED__
#define __ICustomXMLPartEvents_FWD_DEFINED__
typedef interface ICustomXMLPartEvents ICustomXMLPartEvents;
#endif 	/* __ICustomXMLPartEvents_FWD_DEFINED__ */


#ifndef ___CustomXMLPartEvents_FWD_DEFINED__
#define ___CustomXMLPartEvents_FWD_DEFINED__
typedef interface _CustomXMLPartEvents _CustomXMLPartEvents;
#endif 	/* ___CustomXMLPartEvents_FWD_DEFINED__ */


#ifndef ___CustomXMLParts_FWD_DEFINED__
#define ___CustomXMLParts_FWD_DEFINED__
typedef interface _CustomXMLParts _CustomXMLParts;
#endif 	/* ___CustomXMLParts_FWD_DEFINED__ */


#ifndef __ICustomXMLPartsEvents_FWD_DEFINED__
#define __ICustomXMLPartsEvents_FWD_DEFINED__
typedef interface ICustomXMLPartsEvents ICustomXMLPartsEvents;
#endif 	/* __ICustomXMLPartsEvents_FWD_DEFINED__ */


#ifndef ___CustomXMLPartsEvents_FWD_DEFINED__
#define ___CustomXMLPartsEvents_FWD_DEFINED__
typedef interface _CustomXMLPartsEvents _CustomXMLPartsEvents;
#endif 	/* ___CustomXMLPartsEvents_FWD_DEFINED__ */


#ifndef __GradientStop_FWD_DEFINED__
#define __GradientStop_FWD_DEFINED__
typedef interface GradientStop GradientStop;
#endif 	/* __GradientStop_FWD_DEFINED__ */


#ifndef __GradientStops_FWD_DEFINED__
#define __GradientStops_FWD_DEFINED__
typedef interface GradientStops GradientStops;
#endif 	/* __GradientStops_FWD_DEFINED__ */


#ifndef __SoftEdgeFormat_FWD_DEFINED__
#define __SoftEdgeFormat_FWD_DEFINED__
typedef interface SoftEdgeFormat SoftEdgeFormat;
#endif 	/* __SoftEdgeFormat_FWD_DEFINED__ */


#ifndef __GlowFormat_FWD_DEFINED__
#define __GlowFormat_FWD_DEFINED__
typedef interface GlowFormat GlowFormat;
#endif 	/* __GlowFormat_FWD_DEFINED__ */


#ifndef __ReflectionFormat_FWD_DEFINED__
#define __ReflectionFormat_FWD_DEFINED__
typedef interface ReflectionFormat ReflectionFormat;
#endif 	/* __ReflectionFormat_FWD_DEFINED__ */


#ifndef __ParagraphFormat2_FWD_DEFINED__
#define __ParagraphFormat2_FWD_DEFINED__
typedef interface ParagraphFormat2 ParagraphFormat2;
#endif 	/* __ParagraphFormat2_FWD_DEFINED__ */


#ifndef __Font2_FWD_DEFINED__
#define __Font2_FWD_DEFINED__
typedef interface Font2 Font2;
#endif 	/* __Font2_FWD_DEFINED__ */


#ifndef __TextColumn2_FWD_DEFINED__
#define __TextColumn2_FWD_DEFINED__
typedef interface TextColumn2 TextColumn2;
#endif 	/* __TextColumn2_FWD_DEFINED__ */


#ifndef __TextRange2_FWD_DEFINED__
#define __TextRange2_FWD_DEFINED__
typedef interface TextRange2 TextRange2;
#endif 	/* __TextRange2_FWD_DEFINED__ */


#ifndef __TextFrame2_FWD_DEFINED__
#define __TextFrame2_FWD_DEFINED__
typedef interface TextFrame2 TextFrame2;
#endif 	/* __TextFrame2_FWD_DEFINED__ */


#ifndef __ThemeColor_FWD_DEFINED__
#define __ThemeColor_FWD_DEFINED__
typedef interface ThemeColor ThemeColor;
#endif 	/* __ThemeColor_FWD_DEFINED__ */


#ifndef __ThemeColorScheme_FWD_DEFINED__
#define __ThemeColorScheme_FWD_DEFINED__
typedef interface ThemeColorScheme ThemeColorScheme;
#endif 	/* __ThemeColorScheme_FWD_DEFINED__ */


#ifndef __ThemeFont_FWD_DEFINED__
#define __ThemeFont_FWD_DEFINED__
typedef interface ThemeFont ThemeFont;
#endif 	/* __ThemeFont_FWD_DEFINED__ */


#ifndef __ThemeFonts_FWD_DEFINED__
#define __ThemeFonts_FWD_DEFINED__
typedef interface ThemeFonts ThemeFonts;
#endif 	/* __ThemeFonts_FWD_DEFINED__ */


#ifndef __ThemeFontScheme_FWD_DEFINED__
#define __ThemeFontScheme_FWD_DEFINED__
typedef interface ThemeFontScheme ThemeFontScheme;
#endif 	/* __ThemeFontScheme_FWD_DEFINED__ */


#ifndef __ThemeEffectScheme_FWD_DEFINED__
#define __ThemeEffectScheme_FWD_DEFINED__
typedef interface ThemeEffectScheme ThemeEffectScheme;
#endif 	/* __ThemeEffectScheme_FWD_DEFINED__ */


#ifndef __OfficeTheme_FWD_DEFINED__
#define __OfficeTheme_FWD_DEFINED__
typedef interface OfficeTheme OfficeTheme;
#endif 	/* __OfficeTheme_FWD_DEFINED__ */


#ifndef ___CustomTaskPane_FWD_DEFINED__
#define ___CustomTaskPane_FWD_DEFINED__
typedef interface _CustomTaskPane _CustomTaskPane;
#endif 	/* ___CustomTaskPane_FWD_DEFINED__ */


#ifndef __CustomTaskPaneEvents_FWD_DEFINED__
#define __CustomTaskPaneEvents_FWD_DEFINED__
typedef interface CustomTaskPaneEvents CustomTaskPaneEvents;
#endif 	/* __CustomTaskPaneEvents_FWD_DEFINED__ */


#ifndef ___CustomTaskPaneEvents_FWD_DEFINED__
#define ___CustomTaskPaneEvents_FWD_DEFINED__
typedef interface _CustomTaskPaneEvents _CustomTaskPaneEvents;
#endif 	/* ___CustomTaskPaneEvents_FWD_DEFINED__ */


#ifndef __ICTPFactory_FWD_DEFINED__
#define __ICTPFactory_FWD_DEFINED__
typedef interface ICTPFactory ICTPFactory;
#endif 	/* __ICTPFactory_FWD_DEFINED__ */


#ifndef __ICustomTaskPaneConsumer_FWD_DEFINED__
#define __ICustomTaskPaneConsumer_FWD_DEFINED__
typedef interface ICustomTaskPaneConsumer ICustomTaskPaneConsumer;
#endif 	/* __ICustomTaskPaneConsumer_FWD_DEFINED__ */


#ifndef __IRibbonUI_FWD_DEFINED__
#define __IRibbonUI_FWD_DEFINED__
typedef interface IRibbonUI IRibbonUI;
#endif 	/* __IRibbonUI_FWD_DEFINED__ */


#ifndef __IRibbonControl_FWD_DEFINED__
#define __IRibbonControl_FWD_DEFINED__
typedef interface IRibbonControl IRibbonControl;
#endif 	/* __IRibbonControl_FWD_DEFINED__ */


#ifndef __IRibbonExtensibility_FWD_DEFINED__
#define __IRibbonExtensibility_FWD_DEFINED__
typedef interface IRibbonExtensibility IRibbonExtensibility;
#endif 	/* __IRibbonExtensibility_FWD_DEFINED__ */


#ifndef __IAssistance_FWD_DEFINED__
#define __IAssistance_FWD_DEFINED__
typedef interface IAssistance IAssistance;
#endif 	/* __IAssistance_FWD_DEFINED__ */


#ifndef __IMsoChartData_FWD_DEFINED__
#define __IMsoChartData_FWD_DEFINED__
typedef interface IMsoChartData IMsoChartData;
#endif 	/* __IMsoChartData_FWD_DEFINED__ */


#ifndef __IMsoChart_FWD_DEFINED__
#define __IMsoChart_FWD_DEFINED__
typedef interface IMsoChart IMsoChart;
#endif 	/* __IMsoChart_FWD_DEFINED__ */


#ifndef __IMsoCorners_FWD_DEFINED__
#define __IMsoCorners_FWD_DEFINED__
typedef interface IMsoCorners IMsoCorners;
#endif 	/* __IMsoCorners_FWD_DEFINED__ */


#ifndef __IMsoLegend_FWD_DEFINED__
#define __IMsoLegend_FWD_DEFINED__
typedef interface IMsoLegend IMsoLegend;
#endif 	/* __IMsoLegend_FWD_DEFINED__ */


#ifndef __IMsoBorder_FWD_DEFINED__
#define __IMsoBorder_FWD_DEFINED__
typedef interface IMsoBorder IMsoBorder;
#endif 	/* __IMsoBorder_FWD_DEFINED__ */


#ifndef __IMsoWalls_FWD_DEFINED__
#define __IMsoWalls_FWD_DEFINED__
typedef interface IMsoWalls IMsoWalls;
#endif 	/* __IMsoWalls_FWD_DEFINED__ */


#ifndef __IMsoFloor_FWD_DEFINED__
#define __IMsoFloor_FWD_DEFINED__
typedef interface IMsoFloor IMsoFloor;
#endif 	/* __IMsoFloor_FWD_DEFINED__ */


#ifndef __IMsoPlotArea_FWD_DEFINED__
#define __IMsoPlotArea_FWD_DEFINED__
typedef interface IMsoPlotArea IMsoPlotArea;
#endif 	/* __IMsoPlotArea_FWD_DEFINED__ */


#ifndef __IMsoChartArea_FWD_DEFINED__
#define __IMsoChartArea_FWD_DEFINED__
typedef interface IMsoChartArea IMsoChartArea;
#endif 	/* __IMsoChartArea_FWD_DEFINED__ */


#ifndef __IMsoSeriesLines_FWD_DEFINED__
#define __IMsoSeriesLines_FWD_DEFINED__
typedef interface IMsoSeriesLines IMsoSeriesLines;
#endif 	/* __IMsoSeriesLines_FWD_DEFINED__ */


#ifndef __IMsoLeaderLines_FWD_DEFINED__
#define __IMsoLeaderLines_FWD_DEFINED__
typedef interface IMsoLeaderLines IMsoLeaderLines;
#endif 	/* __IMsoLeaderLines_FWD_DEFINED__ */


#ifndef __GridLines_FWD_DEFINED__
#define __GridLines_FWD_DEFINED__
typedef interface GridLines GridLines;
#endif 	/* __GridLines_FWD_DEFINED__ */


#ifndef __IMsoUpBars_FWD_DEFINED__
#define __IMsoUpBars_FWD_DEFINED__
typedef interface IMsoUpBars IMsoUpBars;
#endif 	/* __IMsoUpBars_FWD_DEFINED__ */


#ifndef __IMsoDownBars_FWD_DEFINED__
#define __IMsoDownBars_FWD_DEFINED__
typedef interface IMsoDownBars IMsoDownBars;
#endif 	/* __IMsoDownBars_FWD_DEFINED__ */


#ifndef __IMsoInterior_FWD_DEFINED__
#define __IMsoInterior_FWD_DEFINED__
typedef interface IMsoInterior IMsoInterior;
#endif 	/* __IMsoInterior_FWD_DEFINED__ */


#ifndef __ChartFillFormat_FWD_DEFINED__
#define __ChartFillFormat_FWD_DEFINED__
typedef interface ChartFillFormat ChartFillFormat;
#endif 	/* __ChartFillFormat_FWD_DEFINED__ */


#ifndef __LegendEntries_FWD_DEFINED__
#define __LegendEntries_FWD_DEFINED__
typedef interface LegendEntries LegendEntries;
#endif 	/* __LegendEntries_FWD_DEFINED__ */


#ifndef __ChartFont_FWD_DEFINED__
#define __ChartFont_FWD_DEFINED__
typedef interface ChartFont ChartFont;
#endif 	/* __ChartFont_FWD_DEFINED__ */


#ifndef __ChartColorFormat_FWD_DEFINED__
#define __ChartColorFormat_FWD_DEFINED__
typedef interface ChartColorFormat ChartColorFormat;
#endif 	/* __ChartColorFormat_FWD_DEFINED__ */


#ifndef __LegendEntry_FWD_DEFINED__
#define __LegendEntry_FWD_DEFINED__
typedef interface LegendEntry LegendEntry;
#endif 	/* __LegendEntry_FWD_DEFINED__ */


#ifndef __IMsoLegendKey_FWD_DEFINED__
#define __IMsoLegendKey_FWD_DEFINED__
typedef interface IMsoLegendKey IMsoLegendKey;
#endif 	/* __IMsoLegendKey_FWD_DEFINED__ */


#ifndef __SeriesCollection_FWD_DEFINED__
#define __SeriesCollection_FWD_DEFINED__
typedef interface SeriesCollection SeriesCollection;
#endif 	/* __SeriesCollection_FWD_DEFINED__ */


#ifndef __IMsoSeries_FWD_DEFINED__
#define __IMsoSeries_FWD_DEFINED__
typedef interface IMsoSeries IMsoSeries;
#endif 	/* __IMsoSeries_FWD_DEFINED__ */


#ifndef __IMsoErrorBars_FWD_DEFINED__
#define __IMsoErrorBars_FWD_DEFINED__
typedef interface IMsoErrorBars IMsoErrorBars;
#endif 	/* __IMsoErrorBars_FWD_DEFINED__ */


#ifndef __IMsoTrendline_FWD_DEFINED__
#define __IMsoTrendline_FWD_DEFINED__
typedef interface IMsoTrendline IMsoTrendline;
#endif 	/* __IMsoTrendline_FWD_DEFINED__ */


#ifndef __Trendlines_FWD_DEFINED__
#define __Trendlines_FWD_DEFINED__
typedef interface Trendlines Trendlines;
#endif 	/* __Trendlines_FWD_DEFINED__ */


#ifndef __IMsoDataLabels_FWD_DEFINED__
#define __IMsoDataLabels_FWD_DEFINED__
typedef interface IMsoDataLabels IMsoDataLabels;
#endif 	/* __IMsoDataLabels_FWD_DEFINED__ */


#ifndef __IMsoDataLabel_FWD_DEFINED__
#define __IMsoDataLabel_FWD_DEFINED__
typedef interface IMsoDataLabel IMsoDataLabel;
#endif 	/* __IMsoDataLabel_FWD_DEFINED__ */


#ifndef __Points_FWD_DEFINED__
#define __Points_FWD_DEFINED__
typedef interface Points Points;
#endif 	/* __Points_FWD_DEFINED__ */


#ifndef __ChartPoint_FWD_DEFINED__
#define __ChartPoint_FWD_DEFINED__
typedef interface ChartPoint ChartPoint;
#endif 	/* __ChartPoint_FWD_DEFINED__ */


#ifndef __Axes_FWD_DEFINED__
#define __Axes_FWD_DEFINED__
typedef interface Axes Axes;
#endif 	/* __Axes_FWD_DEFINED__ */


#ifndef __IMsoAxis_FWD_DEFINED__
#define __IMsoAxis_FWD_DEFINED__
typedef interface IMsoAxis IMsoAxis;
#endif 	/* __IMsoAxis_FWD_DEFINED__ */


#ifndef __IMsoDataTable_FWD_DEFINED__
#define __IMsoDataTable_FWD_DEFINED__
typedef interface IMsoDataTable IMsoDataTable;
#endif 	/* __IMsoDataTable_FWD_DEFINED__ */


#ifndef __IMsoChartTitle_FWD_DEFINED__
#define __IMsoChartTitle_FWD_DEFINED__
typedef interface IMsoChartTitle IMsoChartTitle;
#endif 	/* __IMsoChartTitle_FWD_DEFINED__ */


#ifndef __IMsoAxisTitle_FWD_DEFINED__
#define __IMsoAxisTitle_FWD_DEFINED__
typedef interface IMsoAxisTitle IMsoAxisTitle;
#endif 	/* __IMsoAxisTitle_FWD_DEFINED__ */


#ifndef __IMsoDisplayUnitLabel_FWD_DEFINED__
#define __IMsoDisplayUnitLabel_FWD_DEFINED__
typedef interface IMsoDisplayUnitLabel IMsoDisplayUnitLabel;
#endif 	/* __IMsoDisplayUnitLabel_FWD_DEFINED__ */


#ifndef __IMsoTickLabels_FWD_DEFINED__
#define __IMsoTickLabels_FWD_DEFINED__
typedef interface IMsoTickLabels IMsoTickLabels;
#endif 	/* __IMsoTickLabels_FWD_DEFINED__ */


#ifndef __IMsoHyperlinks_FWD_DEFINED__
#define __IMsoHyperlinks_FWD_DEFINED__
typedef interface IMsoHyperlinks IMsoHyperlinks;
#endif 	/* __IMsoHyperlinks_FWD_DEFINED__ */


#ifndef __IMsoDropLines_FWD_DEFINED__
#define __IMsoDropLines_FWD_DEFINED__
typedef interface IMsoDropLines IMsoDropLines;
#endif 	/* __IMsoDropLines_FWD_DEFINED__ */


#ifndef __IMsoHiLoLines_FWD_DEFINED__
#define __IMsoHiLoLines_FWD_DEFINED__
typedef interface IMsoHiLoLines IMsoHiLoLines;
#endif 	/* __IMsoHiLoLines_FWD_DEFINED__ */


#ifndef __IMsoChartGroup_FWD_DEFINED__
#define __IMsoChartGroup_FWD_DEFINED__
typedef interface IMsoChartGroup IMsoChartGroup;
#endif 	/* __IMsoChartGroup_FWD_DEFINED__ */


#ifndef __ChartGroups_FWD_DEFINED__
#define __ChartGroups_FWD_DEFINED__
typedef interface ChartGroups ChartGroups;
#endif 	/* __ChartGroups_FWD_DEFINED__ */


#ifndef __IMsoCharacters_FWD_DEFINED__
#define __IMsoCharacters_FWD_DEFINED__
typedef interface IMsoCharacters IMsoCharacters;
#endif 	/* __IMsoCharacters_FWD_DEFINED__ */


#ifndef __IMsoChartFormat_FWD_DEFINED__
#define __IMsoChartFormat_FWD_DEFINED__
typedef interface IMsoChartFormat IMsoChartFormat;
#endif 	/* __IMsoChartFormat_FWD_DEFINED__ */


#ifndef __BulletFormat2_FWD_DEFINED__
#define __BulletFormat2_FWD_DEFINED__
typedef interface BulletFormat2 BulletFormat2;
#endif 	/* __BulletFormat2_FWD_DEFINED__ */


#ifndef __TabStops2_FWD_DEFINED__
#define __TabStops2_FWD_DEFINED__
typedef interface TabStops2 TabStops2;
#endif 	/* __TabStops2_FWD_DEFINED__ */


#ifndef __TabStop2_FWD_DEFINED__
#define __TabStop2_FWD_DEFINED__
typedef interface TabStop2 TabStop2;
#endif 	/* __TabStop2_FWD_DEFINED__ */


#ifndef __Ruler2_FWD_DEFINED__
#define __Ruler2_FWD_DEFINED__
typedef interface Ruler2 Ruler2;
#endif 	/* __Ruler2_FWD_DEFINED__ */


#ifndef __RulerLevels2_FWD_DEFINED__
#define __RulerLevels2_FWD_DEFINED__
typedef interface RulerLevels2 RulerLevels2;
#endif 	/* __RulerLevels2_FWD_DEFINED__ */


#ifndef __RulerLevel2_FWD_DEFINED__
#define __RulerLevel2_FWD_DEFINED__
typedef interface RulerLevel2 RulerLevel2;
#endif 	/* __RulerLevel2_FWD_DEFINED__ */


#ifndef __EncryptionProvider_FWD_DEFINED__
#define __EncryptionProvider_FWD_DEFINED__
typedef interface EncryptionProvider EncryptionProvider;
#endif 	/* __EncryptionProvider_FWD_DEFINED__ */


#ifndef __IBlogExtensibility_FWD_DEFINED__
#define __IBlogExtensibility_FWD_DEFINED__
typedef interface IBlogExtensibility IBlogExtensibility;
#endif 	/* __IBlogExtensibility_FWD_DEFINED__ */


#ifndef __IBlogPictureExtensibility_FWD_DEFINED__
#define __IBlogPictureExtensibility_FWD_DEFINED__
typedef interface IBlogPictureExtensibility IBlogPictureExtensibility;
#endif 	/* __IBlogPictureExtensibility_FWD_DEFINED__ */


#ifndef __IConverterPreferences_FWD_DEFINED__
#define __IConverterPreferences_FWD_DEFINED__
typedef interface IConverterPreferences IConverterPreferences;
#endif 	/* __IConverterPreferences_FWD_DEFINED__ */


#ifndef __IConverterApplicationPreferences_FWD_DEFINED__
#define __IConverterApplicationPreferences_FWD_DEFINED__
typedef interface IConverterApplicationPreferences IConverterApplicationPreferences;
#endif 	/* __IConverterApplicationPreferences_FWD_DEFINED__ */


#ifndef __IConverterUICallback_FWD_DEFINED__
#define __IConverterUICallback_FWD_DEFINED__
typedef interface IConverterUICallback IConverterUICallback;
#endif 	/* __IConverterUICallback_FWD_DEFINED__ */


#ifndef __IConverter_FWD_DEFINED__
#define __IConverter_FWD_DEFINED__
typedef interface IConverter IConverter;
#endif 	/* __IConverter_FWD_DEFINED__ */


#ifndef __SmartArt_FWD_DEFINED__
#define __SmartArt_FWD_DEFINED__
typedef interface SmartArt SmartArt;
#endif 	/* __SmartArt_FWD_DEFINED__ */


#ifndef __SmartArtNodes_FWD_DEFINED__
#define __SmartArtNodes_FWD_DEFINED__
typedef interface SmartArtNodes SmartArtNodes;
#endif 	/* __SmartArtNodes_FWD_DEFINED__ */


#ifndef __SmartArtNode_FWD_DEFINED__
#define __SmartArtNode_FWD_DEFINED__
typedef interface SmartArtNode SmartArtNode;
#endif 	/* __SmartArtNode_FWD_DEFINED__ */


#ifndef __SmartArtLayouts_FWD_DEFINED__
#define __SmartArtLayouts_FWD_DEFINED__
typedef interface SmartArtLayouts SmartArtLayouts;
#endif 	/* __SmartArtLayouts_FWD_DEFINED__ */


#ifndef __SmartArtLayout_FWD_DEFINED__
#define __SmartArtLayout_FWD_DEFINED__
typedef interface SmartArtLayout SmartArtLayout;
#endif 	/* __SmartArtLayout_FWD_DEFINED__ */


#ifndef __SmartArtQuickStyles_FWD_DEFINED__
#define __SmartArtQuickStyles_FWD_DEFINED__
typedef interface SmartArtQuickStyles SmartArtQuickStyles;
#endif 	/* __SmartArtQuickStyles_FWD_DEFINED__ */


#ifndef __SmartArtQuickStyle_FWD_DEFINED__
#define __SmartArtQuickStyle_FWD_DEFINED__
typedef interface SmartArtQuickStyle SmartArtQuickStyle;
#endif 	/* __SmartArtQuickStyle_FWD_DEFINED__ */


#ifndef __SmartArtColors_FWD_DEFINED__
#define __SmartArtColors_FWD_DEFINED__
typedef interface SmartArtColors SmartArtColors;
#endif 	/* __SmartArtColors_FWD_DEFINED__ */


#ifndef __SmartArtColor_FWD_DEFINED__
#define __SmartArtColor_FWD_DEFINED__
typedef interface SmartArtColor SmartArtColor;
#endif 	/* __SmartArtColor_FWD_DEFINED__ */


#ifndef __PickerField_FWD_DEFINED__
#define __PickerField_FWD_DEFINED__
typedef interface PickerField PickerField;
#endif 	/* __PickerField_FWD_DEFINED__ */


#ifndef __PickerFields_FWD_DEFINED__
#define __PickerFields_FWD_DEFINED__
typedef interface PickerFields PickerFields;
#endif 	/* __PickerFields_FWD_DEFINED__ */


#ifndef __PickerProperty_FWD_DEFINED__
#define __PickerProperty_FWD_DEFINED__
typedef interface PickerProperty PickerProperty;
#endif 	/* __PickerProperty_FWD_DEFINED__ */


#ifndef __PickerProperties_FWD_DEFINED__
#define __PickerProperties_FWD_DEFINED__
typedef interface PickerProperties PickerProperties;
#endif 	/* __PickerProperties_FWD_DEFINED__ */


#ifndef __PickerResult_FWD_DEFINED__
#define __PickerResult_FWD_DEFINED__
typedef interface PickerResult PickerResult;
#endif 	/* __PickerResult_FWD_DEFINED__ */


#ifndef __PickerResults_FWD_DEFINED__
#define __PickerResults_FWD_DEFINED__
typedef interface PickerResults PickerResults;
#endif 	/* __PickerResults_FWD_DEFINED__ */


#ifndef __PickerDialog_FWD_DEFINED__
#define __PickerDialog_FWD_DEFINED__
typedef interface PickerDialog PickerDialog;
#endif 	/* __PickerDialog_FWD_DEFINED__ */


#ifndef __IMsoContactCard_FWD_DEFINED__
#define __IMsoContactCard_FWD_DEFINED__
typedef interface IMsoContactCard IMsoContactCard;
#endif 	/* __IMsoContactCard_FWD_DEFINED__ */


#ifndef __EffectParameter_FWD_DEFINED__
#define __EffectParameter_FWD_DEFINED__
typedef interface EffectParameter EffectParameter;
#endif 	/* __EffectParameter_FWD_DEFINED__ */


#ifndef __EffectParameters_FWD_DEFINED__
#define __EffectParameters_FWD_DEFINED__
typedef interface EffectParameters EffectParameters;
#endif 	/* __EffectParameters_FWD_DEFINED__ */


#ifndef __PictureEffect_FWD_DEFINED__
#define __PictureEffect_FWD_DEFINED__
typedef interface PictureEffect PictureEffect;
#endif 	/* __PictureEffect_FWD_DEFINED__ */


#ifndef __PictureEffects_FWD_DEFINED__
#define __PictureEffects_FWD_DEFINED__
typedef interface PictureEffects PictureEffects;
#endif 	/* __PictureEffects_FWD_DEFINED__ */


#ifndef __Crop_FWD_DEFINED__
#define __Crop_FWD_DEFINED__
typedef interface Crop Crop;
#endif 	/* __Crop_FWD_DEFINED__ */


#ifndef __ContactCard_FWD_DEFINED__
#define __ContactCard_FWD_DEFINED__
typedef interface ContactCard ContactCard;
#endif 	/* __ContactCard_FWD_DEFINED__ */


#ifndef __FullSeriesCollection_FWD_DEFINED__
#define __FullSeriesCollection_FWD_DEFINED__
typedef interface FullSeriesCollection FullSeriesCollection;
#endif 	/* __FullSeriesCollection_FWD_DEFINED__ */


#ifndef __IMsoCategory_FWD_DEFINED__
#define __IMsoCategory_FWD_DEFINED__
typedef interface IMsoCategory IMsoCategory;
#endif 	/* __IMsoCategory_FWD_DEFINED__ */


#ifndef __CategoryCollection_FWD_DEFINED__
#define __CategoryCollection_FWD_DEFINED__
typedef interface CategoryCollection CategoryCollection;
#endif 	/* __CategoryCollection_FWD_DEFINED__ */


#ifndef __CommandBars_FWD_DEFINED__
#define __CommandBars_FWD_DEFINED__

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

#endif 	/* __CommandBars_FWD_DEFINED__ */


#ifndef __CommandBarComboBox_FWD_DEFINED__
#define __CommandBarComboBox_FWD_DEFINED__

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

#endif 	/* __CommandBarComboBox_FWD_DEFINED__ */


#ifndef __CommandBarButton_FWD_DEFINED__
#define __CommandBarButton_FWD_DEFINED__

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

#endif 	/* __CommandBarButton_FWD_DEFINED__ */


#ifndef __MsoEnvelope_FWD_DEFINED__
#define __MsoEnvelope_FWD_DEFINED__

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

#endif 	/* __MsoEnvelope_FWD_DEFINED__ */


#ifndef __CustomXMLSchemaCollection_FWD_DEFINED__
#define __CustomXMLSchemaCollection_FWD_DEFINED__

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

#endif 	/* __CustomXMLSchemaCollection_FWD_DEFINED__ */


#ifndef __CustomXMLPart_FWD_DEFINED__
#define __CustomXMLPart_FWD_DEFINED__

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

#endif 	/* __CustomXMLPart_FWD_DEFINED__ */


#ifndef __CustomXMLParts_FWD_DEFINED__
#define __CustomXMLParts_FWD_DEFINED__

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

#endif 	/* __CustomXMLParts_FWD_DEFINED__ */


#ifndef __CustomTaskPane_FWD_DEFINED__
#define __CustomTaskPane_FWD_DEFINED__

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

#endif 	/* __CustomTaskPane_FWD_DEFINED__ */


#ifdef __cplusplus
extern "C"{
#endif 



#ifndef __Office_LIBRARY_DEFINED__
#define __Office_LIBRARY_DEFINED__

/* library Office */
/* [helpcontext][helpfile][helpstring][version][uuid] */ 

typedef float single;

typedef 
enum MsoLineDashStyle
    {	msoLineDashStyleMixed	= -2,
	msoLineSolid	= 1,
	msoLineSquareDot	= 2,
	msoLineRoundDot	= 3,
	msoLineDash	= 4,
	msoLineDashDot	= 5,
	msoLineDashDotDot	= 6,
	msoLineLongDash	= 7,
	msoLineLongDashDot	= 8,
	msoLineLongDashDotDot	= 9,
	msoLineSysDash	= 10,
	msoLineSysDot	= 11,
	msoLineSysDashDot	= 12
    } 	MsoLineDashStyle;

typedef 
enum MsoLineStyle
    {	msoLineStyleMixed	= -2,
	msoLineSingle	= 1,
	msoLineThinThin	= 2,
	msoLineThinThick	= 3,
	msoLineThickThin	= 4,
	msoLineThickBetweenThin	= 5
    } 	MsoLineStyle;

typedef 
enum MsoArrowheadStyle
    {	msoArrowheadStyleMixed	= -2,
	msoArrowheadNone	= 1,
	msoArrowheadTriangle	= 2,
	msoArrowheadOpen	= 3,
	msoArrowheadStealth	= 4,
	msoArrowheadDiamond	= 5,
	msoArrowheadOval	= 6
    } 	MsoArrowheadStyle;

typedef 
enum MsoArrowheadWidth
    {	msoArrowheadWidthMixed	= -2,
	msoArrowheadNarrow	= 1,
	msoArrowheadWidthMedium	= 2,
	msoArrowheadWide	= 3
    } 	MsoArrowheadWidth;

typedef 
enum MsoArrowheadLength
    {	msoArrowheadLengthMixed	= -2,
	msoArrowheadShort	= 1,
	msoArrowheadLengthMedium	= 2,
	msoArrowheadLong	= 3
    } 	MsoArrowheadLength;

typedef 
enum MsoFillType
    {	msoFillMixed	= -2,
	msoFillSolid	= 1,
	msoFillPatterned	= 2,
	msoFillGradient	= 3,
	msoFillTextured	= 4,
	msoFillBackground	= 5,
	msoFillPicture	= 6
    } 	MsoFillType;

typedef 
enum MsoGradientStyle
    {	msoGradientMixed	= -2,
	msoGradientHorizontal	= 1,
	msoGradientVertical	= 2,
	msoGradientDiagonalUp	= 3,
	msoGradientDiagonalDown	= 4,
	msoGradientFromCorner	= 5,
	msoGradientFromTitle	= 6,
	msoGradientFromCenter	= 7
    } 	MsoGradientStyle;

typedef 
enum MsoGradientColorType
    {	msoGradientColorMixed	= -2,
	msoGradientOneColor	= 1,
	msoGradientTwoColors	= 2,
	msoGradientPresetColors	= 3,
	msoGradientMultiColor	= 4
    } 	MsoGradientColorType;

typedef 
enum MsoTextureType
    {	msoTextureTypeMixed	= -2,
	msoTexturePreset	= 1,
	msoTextureUserDefined	= 2
    } 	MsoTextureType;

typedef 
enum MsoPresetTexture
    {	msoPresetTextureMixed	= -2,
	msoTexturePapyrus	= 1,
	msoTextureCanvas	= 2,
	msoTextureDenim	= 3,
	msoTextureWovenMat	= 4,
	msoTextureWaterDroplets	= 5,
	msoTexturePaperBag	= 6,
	msoTextureFishFossil	= 7,
	msoTextureSand	= 8,
	msoTextureGreenMarble	= 9,
	msoTextureWhiteMarble	= 10,
	msoTextureBrownMarble	= 11,
	msoTextureGranite	= 12,
	msoTextureNewsprint	= 13,
	msoTextureRecycledPaper	= 14,
	msoTextureParchment	= 15,
	msoTextureStationery	= 16,
	msoTextureBlueTissuePaper	= 17,
	msoTexturePinkTissuePaper	= 18,
	msoTexturePurpleMesh	= 19,
	msoTextureBouquet	= 20,
	msoTextureCork	= 21,
	msoTextureWalnut	= 22,
	msoTextureOak	= 23,
	msoTextureMediumWood	= 24
    } 	MsoPresetTexture;

typedef 
enum MsoPatternType
    {	msoPatternMixed	= -2,
	msoPattern5Percent	= 1,
	msoPattern10Percent	= 2,
	msoPattern20Percent	= 3,
	msoPattern25Percent	= 4,
	msoPattern30Percent	= 5,
	msoPattern40Percent	= 6,
	msoPattern50Percent	= 7,
	msoPattern60Percent	= 8,
	msoPattern70Percent	= 9,
	msoPattern75Percent	= 10,
	msoPattern80Percent	= 11,
	msoPattern90Percent	= 12,
	msoPatternDarkHorizontal	= 13,
	msoPatternDarkVertical	= 14,
	msoPatternDarkDownwardDiagonal	= 15,
	msoPatternDarkUpwardDiagonal	= 16,
	msoPatternSmallCheckerBoard	= 17,
	msoPatternTrellis	= 18,
	msoPatternLightHorizontal	= 19,
	msoPatternLightVertical	= 20,
	msoPatternLightDownwardDiagonal	= 21,
	msoPatternLightUpwardDiagonal	= 22,
	msoPatternSmallGrid	= 23,
	msoPatternDottedDiamond	= 24,
	msoPatternWideDownwardDiagonal	= 25,
	msoPatternWideUpwardDiagonal	= 26,
	msoPatternDashedUpwardDiagonal	= 27,
	msoPatternDashedDownwardDiagonal	= 28,
	msoPatternNarrowVertical	= 29,
	msoPatternNarrowHorizontal	= 30,
	msoPatternDashedVertical	= 31,
	msoPatternDashedHorizontal	= 32,
	msoPatternLargeConfetti	= 33,
	msoPatternLargeGrid	= 34,
	msoPatternHorizontalBrick	= 35,
	msoPatternLargeCheckerBoard	= 36,
	msoPatternSmallConfetti	= 37,
	msoPatternZigZag	= 38,
	msoPatternSolidDiamond	= 39,
	msoPatternDiagonalBrick	= 40,
	msoPatternOutlinedDiamond	= 41,
	msoPatternPlaid	= 42,
	msoPatternSphere	= 43,
	msoPatternWeave	= 44,
	msoPatternDottedGrid	= 45,
	msoPatternDivot	= 46,
	msoPatternShingle	= 47,
	msoPatternWave	= 48,
	msoPatternHorizontal	= 49,
	msoPatternVertical	= 50,
	msoPatternCross	= 51,
	msoPatternDownwardDiagonal	= 52,
	msoPatternUpwardDiagonal	= 53,
	msoPatternDiagonalCross	= 54
    } 	MsoPatternType;

typedef 
enum MsoPresetGradientType
    {	msoPresetGradientMixed	= -2,
	msoGradientEarlySunset	= 1,
	msoGradientLateSunset	= 2,
	msoGradientNightfall	= 3,
	msoGradientDaybreak	= 4,
	msoGradientHorizon	= 5,
	msoGradientDesert	= 6,
	msoGradientOcean	= 7,
	msoGradientCalmWater	= 8,
	msoGradientFire	= 9,
	msoGradientFog	= 10,
	msoGradientMoss	= 11,
	msoGradientPeacock	= 12,
	msoGradientWheat	= 13,
	msoGradientParchment	= 14,
	msoGradientMahogany	= 15,
	msoGradientRainbow	= 16,
	msoGradientRainbowII	= 17,
	msoGradientGold	= 18,
	msoGradientGoldII	= 19,
	msoGradientBrass	= 20,
	msoGradientChrome	= 21,
	msoGradientChromeII	= 22,
	msoGradientSilver	= 23,
	msoGradientSapphire	= 24
    } 	MsoPresetGradientType;

typedef 
enum MsoShadowType
    {	msoShadowMixed	= -2,
	msoShadow1	= 1,
	msoShadow2	= 2,
	msoShadow3	= 3,
	msoShadow4	= 4,
	msoShadow5	= 5,
	msoShadow6	= 6,
	msoShadow7	= 7,
	msoShadow8	= 8,
	msoShadow9	= 9,
	msoShadow10	= 10,
	msoShadow11	= 11,
	msoShadow12	= 12,
	msoShadow13	= 13,
	msoShadow14	= 14,
	msoShadow15	= 15,
	msoShadow16	= 16,
	msoShadow17	= 17,
	msoShadow18	= 18,
	msoShadow19	= 19,
	msoShadow20	= 20,
	msoShadow21	= 21,
	msoShadow22	= 22,
	msoShadow23	= 23,
	msoShadow24	= 24,
	msoShadow25	= 25,
	msoShadow26	= 26,
	msoShadow27	= 27,
	msoShadow28	= 28,
	msoShadow29	= 29,
	msoShadow30	= 30,
	msoShadow31	= 31,
	msoShadow32	= 32,
	msoShadow33	= 33,
	msoShadow34	= 34,
	msoShadow35	= 35,
	msoShadow36	= 36,
	msoShadow37	= 37,
	msoShadow38	= 38,
	msoShadow39	= 39,
	msoShadow40	= 40,
	msoShadow41	= 41,
	msoShadow42	= 42,
	msoShadow43	= 43
    } 	MsoShadowType;

typedef 
enum MsoPresetTextEffect
    {	msoTextEffectMixed	= -2,
	msoTextEffect1	= 0,
	msoTextEffect2	= 1,
	msoTextEffect3	= 2,
	msoTextEffect4	= 3,
	msoTextEffect5	= 4,
	msoTextEffect6	= 5,
	msoTextEffect7	= 6,
	msoTextEffect8	= 7,
	msoTextEffect9	= 8,
	msoTextEffect10	= 9,
	msoTextEffect11	= 10,
	msoTextEffect12	= 11,
	msoTextEffect13	= 12,
	msoTextEffect14	= 13,
	msoTextEffect15	= 14,
	msoTextEffect16	= 15,
	msoTextEffect17	= 16,
	msoTextEffect18	= 17,
	msoTextEffect19	= 18,
	msoTextEffect20	= 19,
	msoTextEffect21	= 20,
	msoTextEffect22	= 21,
	msoTextEffect23	= 22,
	msoTextEffect24	= 23,
	msoTextEffect25	= 24,
	msoTextEffect26	= 25,
	msoTextEffect27	= 26,
	msoTextEffect28	= 27,
	msoTextEffect29	= 28,
	msoTextEffect30	= 29,
	msoTextEffect31	= 30,
	msoTextEffect32	= 31,
	msoTextEffect33	= 32,
	msoTextEffect34	= 33,
	msoTextEffect35	= 34,
	msoTextEffect36	= 35,
	msoTextEffect37	= 36,
	msoTextEffect38	= 37,
	msoTextEffect39	= 38,
	msoTextEffect40	= 39,
	msoTextEffect41	= 40,
	msoTextEffect42	= 41,
	msoTextEffect43	= 42,
	msoTextEffect44	= 43,
	msoTextEffect45	= 44,
	msoTextEffect46	= 45,
	msoTextEffect47	= 46,
	msoTextEffect48	= 47,
	msoTextEffect49	= 48,
	msoTextEffect50	= 49
    } 	MsoPresetTextEffect;

typedef 
enum MsoPresetTextEffectShape
    {	msoTextEffectShapeMixed	= -2,
	msoTextEffectShapePlainText	= 1,
	msoTextEffectShapeStop	= 2,
	msoTextEffectShapeTriangleUp	= 3,
	msoTextEffectShapeTriangleDown	= 4,
	msoTextEffectShapeChevronUp	= 5,
	msoTextEffectShapeChevronDown	= 6,
	msoTextEffectShapeRingInside	= 7,
	msoTextEffectShapeRingOutside	= 8,
	msoTextEffectShapeArchUpCurve	= 9,
	msoTextEffectShapeArchDownCurve	= 10,
	msoTextEffectShapeCircleCurve	= 11,
	msoTextEffectShapeButtonCurve	= 12,
	msoTextEffectShapeArchUpPour	= 13,
	msoTextEffectShapeArchDownPour	= 14,
	msoTextEffectShapeCirclePour	= 15,
	msoTextEffectShapeButtonPour	= 16,
	msoTextEffectShapeCurveUp	= 17,
	msoTextEffectShapeCurveDown	= 18,
	msoTextEffectShapeCanUp	= 19,
	msoTextEffectShapeCanDown	= 20,
	msoTextEffectShapeWave1	= 21,
	msoTextEffectShapeWave2	= 22,
	msoTextEffectShapeDoubleWave1	= 23,
	msoTextEffectShapeDoubleWave2	= 24,
	msoTextEffectShapeInflate	= 25,
	msoTextEffectShapeDeflate	= 26,
	msoTextEffectShapeInflateBottom	= 27,
	msoTextEffectShapeDeflateBottom	= 28,
	msoTextEffectShapeInflateTop	= 29,
	msoTextEffectShapeDeflateTop	= 30,
	msoTextEffectShapeDeflateInflate	= 31,
	msoTextEffectShapeDeflateInflateDeflate	= 32,
	msoTextEffectShapeFadeRight	= 33,
	msoTextEffectShapeFadeLeft	= 34,
	msoTextEffectShapeFadeUp	= 35,
	msoTextEffectShapeFadeDown	= 36,
	msoTextEffectShapeSlantUp	= 37,
	msoTextEffectShapeSlantDown	= 38,
	msoTextEffectShapeCascadeUp	= 39,
	msoTextEffectShapeCascadeDown	= 40
    } 	MsoPresetTextEffectShape;

typedef 
enum MsoTextEffectAlignment
    {	msoTextEffectAlignmentMixed	= -2,
	msoTextEffectAlignmentLeft	= 1,
	msoTextEffectAlignmentCentered	= 2,
	msoTextEffectAlignmentRight	= 3,
	msoTextEffectAlignmentLetterJustify	= 4,
	msoTextEffectAlignmentWordJustify	= 5,
	msoTextEffectAlignmentStretchJustify	= 6
    } 	MsoTextEffectAlignment;

typedef 
enum MsoPresetLightingDirection
    {	msoPresetLightingDirectionMixed	= -2,
	msoLightingTopLeft	= 1,
	msoLightingTop	= 2,
	msoLightingTopRight	= 3,
	msoLightingLeft	= 4,
	msoLightingNone	= 5,
	msoLightingRight	= 6,
	msoLightingBottomLeft	= 7,
	msoLightingBottom	= 8,
	msoLightingBottomRight	= 9
    } 	MsoPresetLightingDirection;

typedef 
enum MsoPresetLightingSoftness
    {	msoPresetLightingSoftnessMixed	= -2,
	msoLightingDim	= 1,
	msoLightingNormal	= 2,
	msoLightingBright	= 3
    } 	MsoPresetLightingSoftness;

typedef 
enum MsoPresetMaterial
    {	msoPresetMaterialMixed	= -2,
	msoMaterialMatte	= 1,
	msoMaterialPlastic	= 2,
	msoMaterialMetal	= 3,
	msoMaterialWireFrame	= 4,
	msoMaterialMatte2	= 5,
	msoMaterialPlastic2	= 6,
	msoMaterialMetal2	= 7,
	msoMaterialWarmMatte	= 8,
	msoMaterialTranslucentPowder	= 9,
	msoMaterialPowder	= 10,
	msoMaterialDarkEdge	= 11,
	msoMaterialSoftEdge	= 12,
	msoMaterialClear	= 13,
	msoMaterialFlat	= 14,
	msoMaterialSoftMetal	= 15
    } 	MsoPresetMaterial;

typedef 
enum MsoPresetExtrusionDirection
    {	msoPresetExtrusionDirectionMixed	= -2,
	msoExtrusionBottomRight	= 1,
	msoExtrusionBottom	= 2,
	msoExtrusionBottomLeft	= 3,
	msoExtrusionRight	= 4,
	msoExtrusionNone	= 5,
	msoExtrusionLeft	= 6,
	msoExtrusionTopRight	= 7,
	msoExtrusionTop	= 8,
	msoExtrusionTopLeft	= 9
    } 	MsoPresetExtrusionDirection;

typedef 
enum MsoPresetThreeDFormat
    {	msoPresetThreeDFormatMixed	= -2,
	msoThreeD1	= 1,
	msoThreeD2	= 2,
	msoThreeD3	= 3,
	msoThreeD4	= 4,
	msoThreeD5	= 5,
	msoThreeD6	= 6,
	msoThreeD7	= 7,
	msoThreeD8	= 8,
	msoThreeD9	= 9,
	msoThreeD10	= 10,
	msoThreeD11	= 11,
	msoThreeD12	= 12,
	msoThreeD13	= 13,
	msoThreeD14	= 14,
	msoThreeD15	= 15,
	msoThreeD16	= 16,
	msoThreeD17	= 17,
	msoThreeD18	= 18,
	msoThreeD19	= 19,
	msoThreeD20	= 20
    } 	MsoPresetThreeDFormat;

typedef 
enum MsoExtrusionColorType
    {	msoExtrusionColorTypeMixed	= -2,
	msoExtrusionColorAutomatic	= 1,
	msoExtrusionColorCustom	= 2
    } 	MsoExtrusionColorType;

typedef 
enum MsoAlignCmd
    {	msoAlignLefts	= 0,
	msoAlignCenters	= 1,
	msoAlignRights	= 2,
	msoAlignTops	= 3,
	msoAlignMiddles	= 4,
	msoAlignBottoms	= 5
    } 	MsoAlignCmd;

typedef 
enum MsoDistributeCmd
    {	msoDistributeHorizontally	= 0,
	msoDistributeVertically	= 1
    } 	MsoDistributeCmd;

typedef 
enum MsoConnectorType
    {	msoConnectorTypeMixed	= -2,
	msoConnectorStraight	= 1,
	msoConnectorElbow	= 2,
	msoConnectorCurve	= 3
    } 	MsoConnectorType;

typedef 
enum MsoHorizontalAnchor
    {	msoHorizontalAnchorMixed	= -2,
	msoAnchorNone	= 1,
	msoAnchorCenter	= 2
    } 	MsoHorizontalAnchor;

typedef 
enum MsoVerticalAnchor
    {	msoVerticalAnchorMixed	= -2,
	msoAnchorTop	= 1,
	msoAnchorTopBaseline	= 2,
	msoAnchorMiddle	= 3,
	msoAnchorBottom	= 4,
	msoAnchorBottomBaseLine	= 5
    } 	MsoVerticalAnchor;

typedef 
enum MsoOrientation
    {	msoOrientationMixed	= -2,
	msoOrientationHorizontal	= 1,
	msoOrientationVertical	= 2
    } 	MsoOrientation;

typedef 
enum MsoZOrderCmd
    {	msoBringToFront	= 0,
	msoSendToBack	= 1,
	msoBringForward	= 2,
	msoSendBackward	= 3,
	msoBringInFrontOfText	= 4,
	msoSendBehindText	= 5
    } 	MsoZOrderCmd;

typedef 
enum MsoSegmentType
    {	msoSegmentLine	= 0,
	msoSegmentCurve	= 1
    } 	MsoSegmentType;

typedef 
enum MsoEditingType
    {	msoEditingAuto	= 0,
	msoEditingCorner	= 1,
	msoEditingSmooth	= 2,
	msoEditingSymmetric	= 3
    } 	MsoEditingType;

typedef 
enum MsoAutoShapeType
    {	msoShapeMixed	= -2,
	msoShapeRectangle	= 1,
	msoShapeParallelogram	= 2,
	msoShapeTrapezoid	= 3,
	msoShapeDiamond	= 4,
	msoShapeRoundedRectangle	= 5,
	msoShapeOctagon	= 6,
	msoShapeIsoscelesTriangle	= 7,
	msoShapeRightTriangle	= 8,
	msoShapeOval	= 9,
	msoShapeHexagon	= 10,
	msoShapeCross	= 11,
	msoShapeRegularPentagon	= 12,
	msoShapeCan	= 13,
	msoShapeCube	= 14,
	msoShapeBevel	= 15,
	msoShapeFoldedCorner	= 16,
	msoShapeSmileyFace	= 17,
	msoShapeDonut	= 18,
	msoShapeNoSymbol	= 19,
	msoShapeBlockArc	= 20,
	msoShapeHeart	= 21,
	msoShapeLightningBolt	= 22,
	msoShapeSun	= 23,
	msoShapeMoon	= 24,
	msoShapeArc	= 25,
	msoShapeDoubleBracket	= 26,
	msoShapeDoubleBrace	= 27,
	msoShapePlaque	= 28,
	msoShapeLeftBracket	= 29,
	msoShapeRightBracket	= 30,
	msoShapeLeftBrace	= 31,
	msoShapeRightBrace	= 32,
	msoShapeRightArrow	= 33,
	msoShapeLeftArrow	= 34,
	msoShapeUpArrow	= 35,
	msoShapeDownArrow	= 36,
	msoShapeLeftRightArrow	= 37,
	msoShapeUpDownArrow	= 38,
	msoShapeQuadArrow	= 39,
	msoShapeLeftRightUpArrow	= 40,
	msoShapeBentArrow	= 41,
	msoShapeUTurnArrow	= 42,
	msoShapeLeftUpArrow	= 43,
	msoShapeBentUpArrow	= 44,
	msoShapeCurvedRightArrow	= 45,
	msoShapeCurvedLeftArrow	= 46,
	msoShapeCurvedUpArrow	= 47,
	msoShapeCurvedDownArrow	= 48,
	msoShapeStripedRightArrow	= 49,
	msoShapeNotchedRightArrow	= 50,
	msoShapePentagon	= 51,
	msoShapeChevron	= 52,
	msoShapeRightArrowCallout	= 53,
	msoShapeLeftArrowCallout	= 54,
	msoShapeUpArrowCallout	= 55,
	msoShapeDownArrowCallout	= 56,
	msoShapeLeftRightArrowCallout	= 57,
	msoShapeUpDownArrowCallout	= 58,
	msoShapeQuadArrowCallout	= 59,
	msoShapeCircularArrow	= 60,
	msoShapeFlowchartProcess	= 61,
	msoShapeFlowchartAlternateProcess	= 62,
	msoShapeFlowchartDecision	= 63,
	msoShapeFlowchartData	= 64,
	msoShapeFlowchartPredefinedProcess	= 65,
	msoShapeFlowchartInternalStorage	= 66,
	msoShapeFlowchartDocument	= 67,
	msoShapeFlowchartMultidocument	= 68,
	msoShapeFlowchartTerminator	= 69,
	msoShapeFlowchartPreparation	= 70,
	msoShapeFlowchartManualInput	= 71,
	msoShapeFlowchartManualOperation	= 72,
	msoShapeFlowchartConnector	= 73,
	msoShapeFlowchartOffpageConnector	= 74,
	msoShapeFlowchartCard	= 75,
	msoShapeFlowchartPunchedTape	= 76,
	msoShapeFlowchartSummingJunction	= 77,
	msoShapeFlowchartOr	= 78,
	msoShapeFlowchartCollate	= 79,
	msoShapeFlowchartSort	= 80,
	msoShapeFlowchartExtract	= 81,
	msoShapeFlowchartMerge	= 82,
	msoShapeFlowchartStoredData	= 83,
	msoShapeFlowchartDelay	= 84,
	msoShapeFlowchartSequentialAccessStorage	= 85,
	msoShapeFlowchartMagneticDisk	= 86,
	msoShapeFlowchartDirectAccessStorage	= 87,
	msoShapeFlowchartDisplay	= 88,
	msoShapeExplosion1	= 89,
	msoShapeExplosion2	= 90,
	msoShape4pointStar	= 91,
	msoShape5pointStar	= 92,
	msoShape8pointStar	= 93,
	msoShape16pointStar	= 94,
	msoShape24pointStar	= 95,
	msoShape32pointStar	= 96,
	msoShapeUpRibbon	= 97,
	msoShapeDownRibbon	= 98,
	msoShapeCurvedUpRibbon	= 99,
	msoShapeCurvedDownRibbon	= 100,
	msoShapeVerticalScroll	= 101,
	msoShapeHorizontalScroll	= 102,
	msoShapeWave	= 103,
	msoShapeDoubleWave	= 104,
	msoShapeRectangularCallout	= 105,
	msoShapeRoundedRectangularCallout	= 106,
	msoShapeOvalCallout	= 107,
	msoShapeCloudCallout	= 108,
	msoShapeLineCallout1	= 109,
	msoShapeLineCallout2	= 110,
	msoShapeLineCallout3	= 111,
	msoShapeLineCallout4	= 112,
	msoShapeLineCallout1AccentBar	= 113,
	msoShapeLineCallout2AccentBar	= 114,
	msoShapeLineCallout3AccentBar	= 115,
	msoShapeLineCallout4AccentBar	= 116,
	msoShapeLineCallout1NoBorder	= 117,
	msoShapeLineCallout2NoBorder	= 118,
	msoShapeLineCallout3NoBorder	= 119,
	msoShapeLineCallout4NoBorder	= 120,
	msoShapeLineCallout1BorderandAccentBar	= 121,
	msoShapeLineCallout2BorderandAccentBar	= 122,
	msoShapeLineCallout3BorderandAccentBar	= 123,
	msoShapeLineCallout4BorderandAccentBar	= 124,
	msoShapeActionButtonCustom	= 125,
	msoShapeActionButtonHome	= 126,
	msoShapeActionButtonHelp	= 127,
	msoShapeActionButtonInformation	= 128,
	msoShapeActionButtonBackorPrevious	= 129,
	msoShapeActionButtonForwardorNext	= 130,
	msoShapeActionButtonBeginning	= 131,
	msoShapeActionButtonEnd	= 132,
	msoShapeActionButtonReturn	= 133,
	msoShapeActionButtonDocument	= 134,
	msoShapeActionButtonSound	= 135,
	msoShapeActionButtonMovie	= 136,
	msoShapeBalloon	= 137,
	msoShapeNotPrimitive	= 138,
	msoShapeFlowchartOfflineStorage	= 139,
	msoShapeLeftRightRibbon	= 140,
	msoShapeDiagonalStripe	= 141,
	msoShapePie	= 142,
	msoShapeNonIsoscelesTrapezoid	= 143,
	msoShapeDecagon	= 144,
	msoShapeHeptagon	= 145,
	msoShapeDodecagon	= 146,
	msoShape6pointStar	= 147,
	msoShape7pointStar	= 148,
	msoShape10pointStar	= 149,
	msoShape12pointStar	= 150,
	msoShapeRound1Rectangle	= 151,
	msoShapeRound2SameRectangle	= 152,
	msoShapeRound2DiagRectangle	= 153,
	msoShapeSnipRoundRectangle	= 154,
	msoShapeSnip1Rectangle	= 155,
	msoShapeSnip2SameRectangle	= 156,
	msoShapeSnip2DiagRectangle	= 157,
	msoShapeFrame	= 158,
	msoShapeHalfFrame	= 159,
	msoShapeTear	= 160,
	msoShapeChord	= 161,
	msoShapeCorner	= 162,
	msoShapeMathPlus	= 163,
	msoShapeMathMinus	= 164,
	msoShapeMathMultiply	= 165,
	msoShapeMathDivide	= 166,
	msoShapeMathEqual	= 167,
	msoShapeMathNotEqual	= 168,
	msoShapeCornerTabs	= 169,
	msoShapeSquareTabs	= 170,
	msoShapePlaqueTabs	= 171,
	msoShapeGear6	= 172,
	msoShapeGear9	= 173,
	msoShapeFunnel	= 174,
	msoShapePieWedge	= 175,
	msoShapeLeftCircularArrow	= 176,
	msoShapeLeftRightCircularArrow	= 177,
	msoShapeSwooshArrow	= 178,
	msoShapeCloud	= 179,
	msoShapeChartX	= 180,
	msoShapeChartStar	= 181,
	msoShapeChartPlus	= 182,
	msoShapeLineInverse	= 183
    } 	MsoAutoShapeType;

typedef 
enum MsoShapeType
    {	msoShapeTypeMixed	= -2,
	msoAutoShape	= 1,
	msoCallout	= 2,
	msoChart	= 3,
	msoComment	= 4,
	msoFreeform	= 5,
	msoGroup	= 6,
	msoEmbeddedOLEObject	= 7,
	msoFormControl	= 8,
	msoLine	= 9,
	msoLinkedOLEObject	= 10,
	msoLinkedPicture	= 11,
	msoOLEControlObject	= 12,
	msoPicture	= 13,
	msoPlaceholder	= 14,
	msoTextEffect	= 15,
	msoMedia	= 16,
	msoTextBox	= 17,
	msoScriptAnchor	= 18,
	msoTable	= 19,
	msoCanvas	= 20,
	msoDiagram	= 21,
	msoInk	= 22,
	msoInkComment	= 23,
	msoSmartArt	= 24,
	msoSlicer	= 25,
	msoWebVideo	= 26
    } 	MsoShapeType;

typedef 
enum MsoFlipCmd
    {	msoFlipHorizontal	= 0,
	msoFlipVertical	= 1
    } 	MsoFlipCmd;

typedef 
enum MsoTriState
    {	msoTrue	= -1,
	msoFalse	= 0,
	msoCTrue	= 1,
	msoTriStateToggle	= -3,
	msoTriStateMixed	= -2
    } 	MsoTriState;

typedef 
enum MsoColorType
    {	msoColorTypeMixed	= -2,
	msoColorTypeRGB	= 1,
	msoColorTypeScheme	= 2,
	msoColorTypeCMYK	= 3,
	msoColorTypeCMS	= 4,
	msoColorTypeInk	= 5
    } 	MsoColorType;

typedef 
enum MsoPictureColorType
    {	msoPictureMixed	= -2,
	msoPictureAutomatic	= 1,
	msoPictureGrayscale	= 2,
	msoPictureBlackAndWhite	= 3,
	msoPictureWatermark	= 4
    } 	MsoPictureColorType;

typedef 
enum MsoCalloutAngleType
    {	msoCalloutAngleMixed	= -2,
	msoCalloutAngleAutomatic	= 1,
	msoCalloutAngle30	= 2,
	msoCalloutAngle45	= 3,
	msoCalloutAngle60	= 4,
	msoCalloutAngle90	= 5
    } 	MsoCalloutAngleType;

typedef 
enum MsoCalloutDropType
    {	msoCalloutDropMixed	= -2,
	msoCalloutDropCustom	= 1,
	msoCalloutDropTop	= 2,
	msoCalloutDropCenter	= 3,
	msoCalloutDropBottom	= 4
    } 	MsoCalloutDropType;

typedef 
enum MsoCalloutType
    {	msoCalloutMixed	= -2,
	msoCalloutOne	= 1,
	msoCalloutTwo	= 2,
	msoCalloutThree	= 3,
	msoCalloutFour	= 4
    } 	MsoCalloutType;

typedef 
enum MsoBlackWhiteMode
    {	msoBlackWhiteMixed	= -2,
	msoBlackWhiteAutomatic	= 1,
	msoBlackWhiteGrayScale	= 2,
	msoBlackWhiteLightGrayScale	= 3,
	msoBlackWhiteInverseGrayScale	= 4,
	msoBlackWhiteGrayOutline	= 5,
	msoBlackWhiteBlackTextAndLine	= 6,
	msoBlackWhiteHighContrast	= 7,
	msoBlackWhiteBlack	= 8,
	msoBlackWhiteWhite	= 9,
	msoBlackWhiteDontShow	= 10
    } 	MsoBlackWhiteMode;

typedef 
enum MsoMixedType
    {	msoIntegerMixed	= 32768,
	msoSingleMixed	= 0x7fffffff
    } 	MsoMixedType;

typedef 
enum MsoTextOrientation
    {	msoTextOrientationMixed	= -2,
	msoTextOrientationHorizontal	= 1,
	msoTextOrientationUpward	= 2,
	msoTextOrientationDownward	= 3,
	msoTextOrientationVerticalFarEast	= 4,
	msoTextOrientationVertical	= 5,
	msoTextOrientationHorizontalRotatedFarEast	= 6
    } 	MsoTextOrientation;

typedef 
enum MsoScaleFrom
    {	msoScaleFromTopLeft	= 0,
	msoScaleFromMiddle	= 1,
	msoScaleFromBottomRight	= 2
    } 	MsoScaleFrom;

typedef 
enum MsoBarPosition
    {	msoBarLeft	= 0,
	msoBarTop	= 1,
	msoBarRight	= 2,
	msoBarBottom	= 3,
	msoBarFloating	= 4,
	msoBarPopup	= 5,
	msoBarMenuBar	= 6
    } 	MsoBarPosition;

typedef 
enum MsoBarProtection
    {	msoBarNoProtection	= 0,
	msoBarNoCustomize	= 1,
	msoBarNoResize	= 2,
	msoBarNoMove	= 4,
	msoBarNoChangeVisible	= 8,
	msoBarNoChangeDock	= 16,
	msoBarNoVerticalDock	= 32,
	msoBarNoHorizontalDock	= 64
    } 	MsoBarProtection;

typedef 
enum MsoBarType
    {	msoBarTypeNormal	= 0,
	msoBarTypeMenuBar	= 1,
	msoBarTypePopup	= 2
    } 	MsoBarType;

typedef 
enum MsoControlType
    {	msoControlCustom	= 0,
	msoControlButton	= 1,
	msoControlEdit	= 2,
	msoControlDropdown	= 3,
	msoControlComboBox	= 4,
	msoControlButtonDropdown	= 5,
	msoControlSplitDropdown	= 6,
	msoControlOCXDropdown	= 7,
	msoControlGenericDropdown	= 8,
	msoControlGraphicDropdown	= 9,
	msoControlPopup	= 10,
	msoControlGraphicPopup	= 11,
	msoControlButtonPopup	= 12,
	msoControlSplitButtonPopup	= 13,
	msoControlSplitButtonMRUPopup	= 14,
	msoControlLabel	= 15,
	msoControlExpandingGrid	= 16,
	msoControlSplitExpandingGrid	= 17,
	msoControlGrid	= 18,
	msoControlGauge	= 19,
	msoControlGraphicCombo	= 20,
	msoControlPane	= 21,
	msoControlActiveX	= 22,
	msoControlSpinner	= 23,
	msoControlLabelEx	= 24,
	msoControlWorkPane	= 25,
	msoControlAutoCompleteCombo	= 26
    } 	MsoControlType;

typedef 
enum MsoButtonState
    {	msoButtonUp	= 0,
	msoButtonDown	= -1,
	msoButtonMixed	= 2
    } 	MsoButtonState;

typedef 
enum MsoControlOLEUsage
    {	msoControlOLEUsageNeither	= 0,
	msoControlOLEUsageServer	= 1,
	msoControlOLEUsageClient	= 2,
	msoControlOLEUsageBoth	= 3
    } 	MsoControlOLEUsage;

typedef 
enum MsoButtonStyleHidden
    {	msoButtonWrapText	= 4,
	msoButtonTextBelow	= 8
    } 	MsoButtonStyleHidden;

typedef 
enum MsoButtonStyle
    {	msoButtonAutomatic	= 0,
	msoButtonIcon	= 1,
	msoButtonCaption	= 2,
	msoButtonIconAndCaption	= 3,
	msoButtonIconAndWrapCaption	= 7,
	msoButtonIconAndCaptionBelow	= 11,
	msoButtonWrapCaption	= 14,
	msoButtonIconAndWrapCaptionBelow	= 15
    } 	MsoButtonStyle;

typedef 
enum MsoComboStyle
    {	msoComboNormal	= 0,
	msoComboLabel	= 1
    } 	MsoComboStyle;

typedef 
enum MsoOLEMenuGroup
    {	msoOLEMenuGroupNone	= -1,
	msoOLEMenuGroupFile	= 0,
	msoOLEMenuGroupEdit	= 1,
	msoOLEMenuGroupContainer	= 2,
	msoOLEMenuGroupObject	= 3,
	msoOLEMenuGroupWindow	= 4,
	msoOLEMenuGroupHelp	= 5
    } 	MsoOLEMenuGroup;

typedef 
enum MsoMenuAnimation
    {	msoMenuAnimationNone	= 0,
	msoMenuAnimationRandom	= 1,
	msoMenuAnimationUnfold	= 2,
	msoMenuAnimationSlide	= 3
    } 	MsoMenuAnimation;

typedef 
enum MsoBarRow
    {	msoBarRowFirst	= 0,
	msoBarRowLast	= -1
    } 	MsoBarRow;

typedef 
enum MsoCommandBarButtonHyperlinkType
    {	msoCommandBarButtonHyperlinkNone	= 0,
	msoCommandBarButtonHyperlinkOpen	= 1,
	msoCommandBarButtonHyperlinkInsertPicture	= 2
    } 	MsoCommandBarButtonHyperlinkType;

typedef 
enum MsoHyperlinkType
    {	msoHyperlinkRange	= 0,
	msoHyperlinkShape	= 1,
	msoHyperlinkInlineShape	= 2
    } 	MsoHyperlinkType;

typedef 
enum MsoExtraInfoMethod
    {	msoMethodGet	= 0,
	msoMethodPost	= 1
    } 	MsoExtraInfoMethod;

typedef 
enum MsoAnimationType
    {	msoAnimationIdle	= 1,
	msoAnimationGreeting	= 2,
	msoAnimationGoodbye	= 3,
	msoAnimationBeginSpeaking	= 4,
	msoAnimationRestPose	= 5,
	msoAnimationCharacterSuccessMajor	= 6,
	msoAnimationGetAttentionMajor	= 11,
	msoAnimationGetAttentionMinor	= 12,
	msoAnimationSearching	= 13,
	msoAnimationPrinting	= 18,
	msoAnimationGestureRight	= 19,
	msoAnimationWritingNotingSomething	= 22,
	msoAnimationWorkingAtSomething	= 23,
	msoAnimationThinking	= 24,
	msoAnimationSendingMail	= 25,
	msoAnimationListensToComputer	= 26,
	msoAnimationDisappear	= 31,
	msoAnimationAppear	= 32,
	msoAnimationGetArtsy	= 100,
	msoAnimationGetTechy	= 101,
	msoAnimationGetWizardy	= 102,
	msoAnimationCheckingSomething	= 103,
	msoAnimationLookDown	= 104,
	msoAnimationLookDownLeft	= 105,
	msoAnimationLookDownRight	= 106,
	msoAnimationLookLeft	= 107,
	msoAnimationLookRight	= 108,
	msoAnimationLookUp	= 109,
	msoAnimationLookUpLeft	= 110,
	msoAnimationLookUpRight	= 111,
	msoAnimationSaving	= 112,
	msoAnimationGestureDown	= 113,
	msoAnimationGestureLeft	= 114,
	msoAnimationGestureUp	= 115,
	msoAnimationEmptyTrash	= 116
    } 	MsoAnimationType;

typedef 
enum MsoButtonSetType
    {	msoButtonSetNone	= 0,
	msoButtonSetOK	= 1,
	msoButtonSetCancel	= 2,
	msoButtonSetOkCancel	= 3,
	msoButtonSetYesNo	= 4,
	msoButtonSetYesNoCancel	= 5,
	msoButtonSetBackClose	= 6,
	msoButtonSetNextClose	= 7,
	msoButtonSetBackNextClose	= 8,
	msoButtonSetRetryCancel	= 9,
	msoButtonSetAbortRetryIgnore	= 10,
	msoButtonSetSearchClose	= 11,
	msoButtonSetBackNextSnooze	= 12,
	msoButtonSetTipsOptionsClose	= 13,
	msoButtonSetYesAllNoCancel	= 14
    } 	MsoButtonSetType;

typedef 
enum MsoIconType
    {	msoIconNone	= 0,
	msoIconAlert	= 2,
	msoIconTip	= 3,
	msoIconAlertInfo	= 4,
	msoIconAlertWarning	= 5,
	msoIconAlertQuery	= 6,
	msoIconAlertCritical	= 7
    } 	MsoIconType;

typedef 
enum MsoBalloonType
    {	msoBalloonTypeButtons	= 0,
	msoBalloonTypeBullets	= 1,
	msoBalloonTypeNumbers	= 2
    } 	MsoBalloonType;

typedef 
enum MsoModeType
    {	msoModeModal	= 0,
	msoModeAutoDown	= 1,
	msoModeModeless	= 2
    } 	MsoModeType;

typedef 
enum MsoBalloonErrorType
    {	msoBalloonErrorNone	= 0,
	msoBalloonErrorOther	= 1,
	msoBalloonErrorTooBig	= 2,
	msoBalloonErrorOutOfMemory	= 3,
	msoBalloonErrorBadPictureRef	= 4,
	msoBalloonErrorBadReference	= 5,
	msoBalloonErrorButtonlessModal	= 6,
	msoBalloonErrorButtonModeless	= 7,
	msoBalloonErrorBadCharacter	= 8,
	msoBalloonErrorCOMFailure	= 9,
	msoBalloonErrorCharNotTopmostForModal	= 10,
	msoBalloonErrorTooManyControls	= 11
    } 	MsoBalloonErrorType;

typedef 
enum MsoWizardActType
    {	msoWizardActInactive	= 0,
	msoWizardActActive	= 1,
	msoWizardActSuspend	= 2,
	msoWizardActResume	= 3
    } 	MsoWizardActType;

typedef 
enum MsoWizardMsgType
    {	msoWizardMsgLocalStateOn	= 1,
	msoWizardMsgLocalStateOff	= 2,
	msoWizardMsgShowHelp	= 3,
	msoWizardMsgSuspending	= 4,
	msoWizardMsgResuming	= 5
    } 	MsoWizardMsgType;

typedef 
enum MsoBalloonButtonType
    {	msoBalloonButtonYesToAll	= -15,
	msoBalloonButtonOptions	= -14,
	msoBalloonButtonTips	= -13,
	msoBalloonButtonClose	= -12,
	msoBalloonButtonSnooze	= -11,
	msoBalloonButtonSearch	= -10,
	msoBalloonButtonIgnore	= -9,
	msoBalloonButtonAbort	= -8,
	msoBalloonButtonRetry	= -7,
	msoBalloonButtonNext	= -6,
	msoBalloonButtonBack	= -5,
	msoBalloonButtonNo	= -4,
	msoBalloonButtonYes	= -3,
	msoBalloonButtonCancel	= -2,
	msoBalloonButtonOK	= -1,
	msoBalloonButtonNull	= 0
    } 	MsoBalloonButtonType;

typedef 
enum DocProperties
    {	offPropertyTypeNumber	= 1,
	offPropertyTypeBoolean	= 2,
	offPropertyTypeDate	= 3,
	offPropertyTypeString	= 4,
	offPropertyTypeFloat	= 5
    } 	DocProperties;

typedef 
enum MsoDocProperties
    {	msoPropertyTypeNumber	= 1,
	msoPropertyTypeBoolean	= 2,
	msoPropertyTypeDate	= 3,
	msoPropertyTypeString	= 4,
	msoPropertyTypeFloat	= 5
    } 	MsoDocProperties;

typedef 
enum MsoAppLanguageID
    {	msoLanguageIDInstall	= 1,
	msoLanguageIDUI	= 2,
	msoLanguageIDHelp	= 3,
	msoLanguageIDExeMode	= 4,
	msoLanguageIDUIPrevious	= 5
    } 	MsoAppLanguageID;

typedef 
enum MsoFarEastLineBreakLanguageID
    {	MsoFarEastLineBreakLanguageJapanese	= 1041,
	MsoFarEastLineBreakLanguageKorean	= 1042,
	MsoFarEastLineBreakLanguageSimplifiedChinese	= 2052,
	MsoFarEastLineBreakLanguageTraditionalChinese	= 1028
    } 	MsoFarEastLineBreakLanguageID;

typedef 
enum MsoFeatureInstall
    {	msoFeatureInstallNone	= 0,
	msoFeatureInstallOnDemand	= 1,
	msoFeatureInstallOnDemandWithUI	= 2
    } 	MsoFeatureInstall;

typedef 
enum MsoScriptLanguage
    {	msoScriptLanguageJava	= 1,
	msoScriptLanguageVisualBasic	= 2,
	msoScriptLanguageASP	= 3,
	msoScriptLanguageOther	= 4
    } 	MsoScriptLanguage;

typedef 
enum MsoScriptLocation
    {	msoScriptLocationInHead	= 1,
	msoScriptLocationInBody	= 2
    } 	MsoScriptLocation;

typedef 
enum MsoFileFindOptions
    {	msoOptionsNew	= 1,
	msoOptionsAdd	= 2,
	msoOptionsWithin	= 3
    } 	MsoFileFindOptions;

typedef 
enum MsoFileFindView
    {	msoViewFileInfo	= 1,
	msoViewPreview	= 2,
	msoViewSummaryInfo	= 3
    } 	MsoFileFindView;

typedef 
enum MsoFileFindSortBy
    {	msoFileFindSortbyAuthor	= 1,
	msoFileFindSortbyDateCreated	= 2,
	msoFileFindSortbyLastSavedBy	= 3,
	msoFileFindSortbyDateSaved	= 4,
	msoFileFindSortbyFileName	= 5,
	msoFileFindSortbySize	= 6,
	msoFileFindSortbyTitle	= 7
    } 	MsoFileFindSortBy;

typedef 
enum MsoFileFindListBy
    {	msoListbyName	= 1,
	msoListbyTitle	= 2
    } 	MsoFileFindListBy;

typedef 
enum MsoLastModified
    {	msoLastModifiedYesterday	= 1,
	msoLastModifiedToday	= 2,
	msoLastModifiedLastWeek	= 3,
	msoLastModifiedThisWeek	= 4,
	msoLastModifiedLastMonth	= 5,
	msoLastModifiedThisMonth	= 6,
	msoLastModifiedAnyTime	= 7
    } 	MsoLastModified;

typedef 
enum MsoSortBy
    {	msoSortByFileName	= 1,
	msoSortBySize	= 2,
	msoSortByFileType	= 3,
	msoSortByLastModified	= 4,
	msoSortByNone	= 5
    } 	MsoSortBy;

typedef 
enum MsoSortOrder
    {	msoSortOrderAscending	= 1,
	msoSortOrderDescending	= 2
    } 	MsoSortOrder;

typedef 
enum MsoConnector
    {	msoConnectorAnd	= 1,
	msoConnectorOr	= 2
    } 	MsoConnector;

typedef 
enum MsoCondition
    {	msoConditionFileTypeAllFiles	= 1,
	msoConditionFileTypeOfficeFiles	= 2,
	msoConditionFileTypeWordDocuments	= 3,
	msoConditionFileTypeExcelWorkbooks	= 4,
	msoConditionFileTypePowerPointPresentations	= 5,
	msoConditionFileTypeBinders	= 6,
	msoConditionFileTypeDatabases	= 7,
	msoConditionFileTypeTemplates	= 8,
	msoConditionIncludes	= 9,
	msoConditionIncludesPhrase	= 10,
	msoConditionBeginsWith	= 11,
	msoConditionEndsWith	= 12,
	msoConditionIncludesNearEachOther	= 13,
	msoConditionIsExactly	= 14,
	msoConditionIsNot	= 15,
	msoConditionYesterday	= 16,
	msoConditionToday	= 17,
	msoConditionTomorrow	= 18,
	msoConditionLastWeek	= 19,
	msoConditionThisWeek	= 20,
	msoConditionNextWeek	= 21,
	msoConditionLastMonth	= 22,
	msoConditionThisMonth	= 23,
	msoConditionNextMonth	= 24,
	msoConditionAnytime	= 25,
	msoConditionAnytimeBetween	= 26,
	msoConditionOn	= 27,
	msoConditionOnOrAfter	= 28,
	msoConditionOnOrBefore	= 29,
	msoConditionInTheNext	= 30,
	msoConditionInTheLast	= 31,
	msoConditionEquals	= 32,
	msoConditionDoesNotEqual	= 33,
	msoConditionAnyNumberBetween	= 34,
	msoConditionAtMost	= 35,
	msoConditionAtLeast	= 36,
	msoConditionMoreThan	= 37,
	msoConditionLessThan	= 38,
	msoConditionIsYes	= 39,
	msoConditionIsNo	= 40,
	msoConditionIncludesFormsOf	= 41,
	msoConditionFreeText	= 42,
	msoConditionFileTypeOutlookItems	= 43,
	msoConditionFileTypeMailItem	= 44,
	msoConditionFileTypeCalendarItem	= 45,
	msoConditionFileTypeContactItem	= 46,
	msoConditionFileTypeNoteItem	= 47,
	msoConditionFileTypeJournalItem	= 48,
	msoConditionFileTypeTaskItem	= 49,
	msoConditionFileTypePhotoDrawFiles	= 50,
	msoConditionFileTypeDataConnectionFiles	= 51,
	msoConditionFileTypePublisherFiles	= 52,
	msoConditionFileTypeProjectFiles	= 53,
	msoConditionFileTypeDocumentImagingFiles	= 54,
	msoConditionFileTypeVisioFiles	= 55,
	msoConditionFileTypeDesignerFiles	= 56,
	msoConditionFileTypeWebPages	= 57,
	msoConditionEqualsLow	= 58,
	msoConditionEqualsNormal	= 59,
	msoConditionEqualsHigh	= 60,
	msoConditionNotEqualToLow	= 61,
	msoConditionNotEqualToNormal	= 62,
	msoConditionNotEqualToHigh	= 63,
	msoConditionEqualsNotStarted	= 64,
	msoConditionEqualsInProgress	= 65,
	msoConditionEqualsCompleted	= 66,
	msoConditionEqualsWaitingForSomeoneElse	= 67,
	msoConditionEqualsDeferred	= 68,
	msoConditionNotEqualToNotStarted	= 69,
	msoConditionNotEqualToInProgress	= 70,
	msoConditionNotEqualToCompleted	= 71,
	msoConditionNotEqualToWaitingForSomeoneElse	= 72,
	msoConditionNotEqualToDeferred	= 73
    } 	MsoCondition;

typedef 
enum MsoFileType
    {	msoFileTypeAllFiles	= 1,
	msoFileTypeOfficeFiles	= 2,
	msoFileTypeWordDocuments	= 3,
	msoFileTypeExcelWorkbooks	= 4,
	msoFileTypePowerPointPresentations	= 5,
	msoFileTypeBinders	= 6,
	msoFileTypeDatabases	= 7,
	msoFileTypeTemplates	= 8,
	msoFileTypeOutlookItems	= 9,
	msoFileTypeMailItem	= 10,
	msoFileTypeCalendarItem	= 11,
	msoFileTypeContactItem	= 12,
	msoFileTypeNoteItem	= 13,
	msoFileTypeJournalItem	= 14,
	msoFileTypeTaskItem	= 15,
	msoFileTypePhotoDrawFiles	= 16,
	msoFileTypeDataConnectionFiles	= 17,
	msoFileTypePublisherFiles	= 18,
	msoFileTypeProjectFiles	= 19,
	msoFileTypeDocumentImagingFiles	= 20,
	msoFileTypeVisioFiles	= 21,
	msoFileTypeDesignerFiles	= 22,
	msoFileTypeWebPages	= 23
    } 	MsoFileType;

typedef 
enum MsoLanguageID
    {	msoLanguageIDMixed	= -2,
	msoLanguageIDNone	= 0,
	msoLanguageIDNoProofing	= 1024,
	msoLanguageIDAfrikaans	= 1078,
	msoLanguageIDAlbanian	= 1052,
	msoLanguageIDAmharic	= 1118,
	msoLanguageIDArabicAlgeria	= 5121,
	msoLanguageIDArabicBahrain	= 15361,
	msoLanguageIDArabicEgypt	= 3073,
	msoLanguageIDArabicIraq	= 2049,
	msoLanguageIDArabicJordan	= 11265,
	msoLanguageIDArabicKuwait	= 13313,
	msoLanguageIDArabicLebanon	= 12289,
	msoLanguageIDArabicLibya	= 4097,
	msoLanguageIDArabicMorocco	= 6145,
	msoLanguageIDArabicOman	= 8193,
	msoLanguageIDArabicQatar	= 16385,
	msoLanguageIDArabic	= 1025,
	msoLanguageIDArabicSyria	= 10241,
	msoLanguageIDArabicTunisia	= 7169,
	msoLanguageIDArabicUAE	= 14337,
	msoLanguageIDArabicYemen	= 9217,
	msoLanguageIDArmenian	= 1067,
	msoLanguageIDAssamese	= 1101,
	msoLanguageIDAzeriCyrillic	= 2092,
	msoLanguageIDAzeriLatin	= 1068,
	msoLanguageIDBasque	= 1069,
	msoLanguageIDByelorussian	= 1059,
	msoLanguageIDBengali	= 1093,
	msoLanguageIDBosnian	= 4122,
	msoLanguageIDBosnianBosniaHerzegovinaCyrillic	= 8218,
	msoLanguageIDBosnianBosniaHerzegovinaLatin	= 5146,
	msoLanguageIDBulgarian	= 1026,
	msoLanguageIDBurmese	= 1109,
	msoLanguageIDCatalan	= 1027,
	msoLanguageIDChineseHongKongSAR	= 3076,
	msoLanguageIDChineseMacaoSAR	= 5124,
	msoLanguageIDSimplifiedChinese	= 2052,
	msoLanguageIDChineseSingapore	= 4100,
	msoLanguageIDTraditionalChinese	= 1028,
	msoLanguageIDCherokee	= 1116,
	msoLanguageIDCroatian	= 1050,
	msoLanguageIDCzech	= 1029,
	msoLanguageIDDanish	= 1030,
	msoLanguageIDDivehi	= 1125,
	msoLanguageIDBelgianDutch	= 2067,
	msoLanguageIDDutch	= 1043,
	msoLanguageIDDzongkhaBhutan	= 2129,
	msoLanguageIDEdo	= 1126,
	msoLanguageIDEnglishAUS	= 3081,
	msoLanguageIDEnglishBelize	= 10249,
	msoLanguageIDEnglishCanadian	= 4105,
	msoLanguageIDEnglishCaribbean	= 9225,
	msoLanguageIDEnglishIndonesia	= 14345,
	msoLanguageIDEnglishIreland	= 6153,
	msoLanguageIDEnglishJamaica	= 8201,
	msoLanguageIDEnglishNewZealand	= 5129,
	msoLanguageIDEnglishPhilippines	= 13321,
	msoLanguageIDEnglishSouthAfrica	= 7177,
	msoLanguageIDEnglishTrinidadTobago	= 11273,
	msoLanguageIDEnglishUK	= 2057,
	msoLanguageIDEnglishUS	= 1033,
	msoLanguageIDEnglishZimbabwe	= 12297,
	msoLanguageIDEstonian	= 1061,
	msoLanguageIDFaeroese	= 1080,
	msoLanguageIDFarsi	= 1065,
	msoLanguageIDFilipino	= 1124,
	msoLanguageIDFinnish	= 1035,
	msoLanguageIDBelgianFrench	= 2060,
	msoLanguageIDFrenchCameroon	= 11276,
	msoLanguageIDFrenchCanadian	= 3084,
	msoLanguageIDFrenchCotedIvoire	= 12300,
	msoLanguageIDFrench	= 1036,
	msoLanguageIDFrenchHaiti	= 15372,
	msoLanguageIDFrenchLuxembourg	= 5132,
	msoLanguageIDFrenchMali	= 13324,
	msoLanguageIDFrenchMonaco	= 6156,
	msoLanguageIDFrenchMorocco	= 14348,
	msoLanguageIDFrenchReunion	= 8204,
	msoLanguageIDFrenchSenegal	= 10252,
	msoLanguageIDSwissFrench	= 4108,
	msoLanguageIDFrenchWestIndies	= 7180,
	msoLanguageIDFrenchZaire	= 9228,
	msoLanguageIDFrenchCongoDRC	= 9228,
	msoLanguageIDFrisianNetherlands	= 1122,
	msoLanguageIDFulfulde	= 1127,
	msoLanguageIDGaelicIreland	= 2108,
	msoLanguageIDGaelicScotland	= 1084,
	msoLanguageIDGalician	= 1110,
	msoLanguageIDGeorgian	= 1079,
	msoLanguageIDGermanAustria	= 3079,
	msoLanguageIDGerman	= 1031,
	msoLanguageIDGermanLiechtenstein	= 5127,
	msoLanguageIDGermanLuxembourg	= 4103,
	msoLanguageIDSwissGerman	= 2055,
	msoLanguageIDGreek	= 1032,
	msoLanguageIDGuarani	= 1140,
	msoLanguageIDGujarati	= 1095,
	msoLanguageIDHausa	= 1128,
	msoLanguageIDHawaiian	= 1141,
	msoLanguageIDHebrew	= 1037,
	msoLanguageIDHindi	= 1081,
	msoLanguageIDHungarian	= 1038,
	msoLanguageIDIbibio	= 1129,
	msoLanguageIDIcelandic	= 1039,
	msoLanguageIDIgbo	= 1136,
	msoLanguageIDIndonesian	= 1057,
	msoLanguageIDInuktitut	= 1117,
	msoLanguageIDItalian	= 1040,
	msoLanguageIDSwissItalian	= 2064,
	msoLanguageIDJapanese	= 1041,
	msoLanguageIDKannada	= 1099,
	msoLanguageIDKanuri	= 1137,
	msoLanguageIDKashmiri	= 1120,
	msoLanguageIDKashmiriDevanagari	= 2144,
	msoLanguageIDKazakh	= 1087,
	msoLanguageIDKhmer	= 1107,
	msoLanguageIDKirghiz	= 1088,
	msoLanguageIDKonkani	= 1111,
	msoLanguageIDKorean	= 1042,
	msoLanguageIDKyrgyz	= 1088,
	msoLanguageIDLatin	= 1142,
	msoLanguageIDLao	= 1108,
	msoLanguageIDLatvian	= 1062,
	msoLanguageIDLithuanian	= 1063,
	msoLanguageIDMacedonian	= 1071,
	msoLanguageIDMacedonianFYROM	= 1071,
	msoLanguageIDMalaysian	= 1086,
	msoLanguageIDMalayBruneiDarussalam	= 2110,
	msoLanguageIDMalayalam	= 1100,
	msoLanguageIDMaltese	= 1082,
	msoLanguageIDManipuri	= 1112,
	msoLanguageIDMaori	= 1153,
	msoLanguageIDMarathi	= 1102,
	msoLanguageIDMongolian	= 1104,
	msoLanguageIDNepali	= 1121,
	msoLanguageIDNorwegianBokmol	= 1044,
	msoLanguageIDNorwegianNynorsk	= 2068,
	msoLanguageIDOriya	= 1096,
	msoLanguageIDOromo	= 1138,
	msoLanguageIDPashto	= 1123,
	msoLanguageIDPolish	= 1045,
	msoLanguageIDBrazilianPortuguese	= 1046,
	msoLanguageIDPortuguese	= 2070,
	msoLanguageIDPunjabi	= 1094,
	msoLanguageIDQuechuaBolivia	= 1131,
	msoLanguageIDQuechuaEcuador	= 2155,
	msoLanguageIDQuechuaPeru	= 3179,
	msoLanguageIDRhaetoRomanic	= 1047,
	msoLanguageIDRomanianMoldova	= 2072,
	msoLanguageIDRomanian	= 1048,
	msoLanguageIDRussianMoldova	= 2073,
	msoLanguageIDRussian	= 1049,
	msoLanguageIDSamiLappish	= 1083,
	msoLanguageIDSanskrit	= 1103,
	msoLanguageIDSepedi	= 1132,
	msoLanguageIDSerbianBosniaHerzegovinaCyrillic	= 7194,
	msoLanguageIDSerbianBosniaHerzegovinaLatin	= 6170,
	msoLanguageIDSerbianCyrillic	= 3098,
	msoLanguageIDSerbianLatin	= 2074,
	msoLanguageIDSesotho	= 1072,
	msoLanguageIDSindhi	= 1113,
	msoLanguageIDSindhiPakistan	= 2137,
	msoLanguageIDSinhalese	= 1115,
	msoLanguageIDSlovak	= 1051,
	msoLanguageIDSlovenian	= 1060,
	msoLanguageIDSomali	= 1143,
	msoLanguageIDSorbian	= 1070,
	msoLanguageIDSpanishArgentina	= 11274,
	msoLanguageIDSpanishBolivia	= 16394,
	msoLanguageIDSpanishChile	= 13322,
	msoLanguageIDSpanishColombia	= 9226,
	msoLanguageIDSpanishCostaRica	= 5130,
	msoLanguageIDSpanishDominicanRepublic	= 7178,
	msoLanguageIDSpanishEcuador	= 12298,
	msoLanguageIDSpanishElSalvador	= 17418,
	msoLanguageIDSpanishGuatemala	= 4106,
	msoLanguageIDSpanishHonduras	= 18442,
	msoLanguageIDMexicanSpanish	= 2058,
	msoLanguageIDSpanishNicaragua	= 19466,
	msoLanguageIDSpanishPanama	= 6154,
	msoLanguageIDSpanishParaguay	= 15370,
	msoLanguageIDSpanishPeru	= 10250,
	msoLanguageIDSpanishPuertoRico	= 20490,
	msoLanguageIDSpanishModernSort	= 3082,
	msoLanguageIDSpanish	= 1034,
	msoLanguageIDSpanishUruguay	= 14346,
	msoLanguageIDSpanishVenezuela	= 8202,
	msoLanguageIDSutu	= 1072,
	msoLanguageIDSwahili	= 1089,
	msoLanguageIDSwedishFinland	= 2077,
	msoLanguageIDSwedish	= 1053,
	msoLanguageIDSyriac	= 1114,
	msoLanguageIDTajik	= 1064,
	msoLanguageIDTamil	= 1097,
	msoLanguageIDTamazight	= 1119,
	msoLanguageIDTamazightLatin	= 2143,
	msoLanguageIDTatar	= 1092,
	msoLanguageIDTelugu	= 1098,
	msoLanguageIDThai	= 1054,
	msoLanguageIDTibetan	= 1105,
	msoLanguageIDTigrignaEthiopic	= 1139,
	msoLanguageIDTigrignaEritrea	= 2163,
	msoLanguageIDTsonga	= 1073,
	msoLanguageIDTswana	= 1074,
	msoLanguageIDTurkish	= 1055,
	msoLanguageIDTurkmen	= 1090,
	msoLanguageIDUkrainian	= 1058,
	msoLanguageIDUrdu	= 1056,
	msoLanguageIDUzbekCyrillic	= 2115,
	msoLanguageIDUzbekLatin	= 1091,
	msoLanguageIDVenda	= 1075,
	msoLanguageIDVietnamese	= 1066,
	msoLanguageIDWelsh	= 1106,
	msoLanguageIDXhosa	= 1076,
	msoLanguageIDYi	= 1144,
	msoLanguageIDYiddish	= 1085,
	msoLanguageIDYoruba	= 1130,
	msoLanguageIDZulu	= 1077
    } 	MsoLanguageID;

typedef 
enum MsoScreenSize
    {	msoScreenSize544x376	= 0,
	msoScreenSize640x480	= 1,
	msoScreenSize720x512	= 2,
	msoScreenSize800x600	= 3,
	msoScreenSize1024x768	= 4,
	msoScreenSize1152x882	= 5,
	msoScreenSize1152x900	= 6,
	msoScreenSize1280x1024	= 7,
	msoScreenSize1600x1200	= 8,
	msoScreenSize1800x1440	= 9,
	msoScreenSize1920x1200	= 10
    } 	MsoScreenSize;

typedef 
enum MsoCharacterSet
    {	msoCharacterSetArabic	= 1,
	msoCharacterSetCyrillic	= 2,
	msoCharacterSetEnglishWesternEuropeanOtherLatinScript	= 3,
	msoCharacterSetGreek	= 4,
	msoCharacterSetHebrew	= 5,
	msoCharacterSetJapanese	= 6,
	msoCharacterSetKorean	= 7,
	msoCharacterSetMultilingualUnicode	= 8,
	msoCharacterSetSimplifiedChinese	= 9,
	msoCharacterSetThai	= 10,
	msoCharacterSetTraditionalChinese	= 11,
	msoCharacterSetVietnamese	= 12
    } 	MsoCharacterSet;

typedef 
enum MsoEncoding
    {	msoEncodingThai	= 874,
	msoEncodingJapaneseShiftJIS	= 932,
	msoEncodingSimplifiedChineseGBK	= 936,
	msoEncodingKorean	= 949,
	msoEncodingTraditionalChineseBig5	= 950,
	msoEncodingUnicodeLittleEndian	= 1200,
	msoEncodingUnicodeBigEndian	= 1201,
	msoEncodingCentralEuropean	= 1250,
	msoEncodingCyrillic	= 1251,
	msoEncodingWestern	= 1252,
	msoEncodingGreek	= 1253,
	msoEncodingTurkish	= 1254,
	msoEncodingHebrew	= 1255,
	msoEncodingArabic	= 1256,
	msoEncodingBaltic	= 1257,
	msoEncodingVietnamese	= 1258,
	msoEncodingAutoDetect	= 50001,
	msoEncodingJapaneseAutoDetect	= 50932,
	msoEncodingSimplifiedChineseAutoDetect	= 50936,
	msoEncodingKoreanAutoDetect	= 50949,
	msoEncodingTraditionalChineseAutoDetect	= 50950,
	msoEncodingCyrillicAutoDetect	= 51251,
	msoEncodingGreekAutoDetect	= 51253,
	msoEncodingArabicAutoDetect	= 51256,
	msoEncodingISO88591Latin1	= 28591,
	msoEncodingISO88592CentralEurope	= 28592,
	msoEncodingISO88593Latin3	= 28593,
	msoEncodingISO88594Baltic	= 28594,
	msoEncodingISO88595Cyrillic	= 28595,
	msoEncodingISO88596Arabic	= 28596,
	msoEncodingISO88597Greek	= 28597,
	msoEncodingISO88598Hebrew	= 28598,
	msoEncodingISO88599Turkish	= 28599,
	msoEncodingISO885915Latin9	= 28605,
	msoEncodingISO88598HebrewLogical	= 38598,
	msoEncodingISO2022JPNoHalfwidthKatakana	= 50220,
	msoEncodingISO2022JPJISX02021984	= 50221,
	msoEncodingISO2022JPJISX02011989	= 50222,
	msoEncodingISO2022KR	= 50225,
	msoEncodingISO2022CNTraditionalChinese	= 50227,
	msoEncodingISO2022CNSimplifiedChinese	= 50229,
	msoEncodingMacRoman	= 10000,
	msoEncodingMacJapanese	= 10001,
	msoEncodingMacTraditionalChineseBig5	= 10002,
	msoEncodingMacKorean	= 10003,
	msoEncodingMacArabic	= 10004,
	msoEncodingMacHebrew	= 10005,
	msoEncodingMacGreek1	= 10006,
	msoEncodingMacCyrillic	= 10007,
	msoEncodingMacSimplifiedChineseGB2312	= 10008,
	msoEncodingMacRomania	= 10010,
	msoEncodingMacUkraine	= 10017,
	msoEncodingMacLatin2	= 10029,
	msoEncodingMacIcelandic	= 10079,
	msoEncodingMacTurkish	= 10081,
	msoEncodingMacCroatia	= 10082,
	msoEncodingEBCDICUSCanada	= 37,
	msoEncodingEBCDICInternational	= 500,
	msoEncodingEBCDICMultilingualROECELatin2	= 870,
	msoEncodingEBCDICGreekModern	= 875,
	msoEncodingEBCDICTurkishLatin5	= 1026,
	msoEncodingEBCDICGermany	= 20273,
	msoEncodingEBCDICDenmarkNorway	= 20277,
	msoEncodingEBCDICFinlandSweden	= 20278,
	msoEncodingEBCDICItaly	= 20280,
	msoEncodingEBCDICLatinAmericaSpain	= 20284,
	msoEncodingEBCDICUnitedKingdom	= 20285,
	msoEncodingEBCDICJapaneseKatakanaExtended	= 20290,
	msoEncodingEBCDICFrance	= 20297,
	msoEncodingEBCDICArabic	= 20420,
	msoEncodingEBCDICGreek	= 20423,
	msoEncodingEBCDICHebrew	= 20424,
	msoEncodingEBCDICKoreanExtended	= 20833,
	msoEncodingEBCDICThai	= 20838,
	msoEncodingEBCDICIcelandic	= 20871,
	msoEncodingEBCDICTurkish	= 20905,
	msoEncodingEBCDICRussian	= 20880,
	msoEncodingEBCDICSerbianBulgarian	= 21025,
	msoEncodingEBCDICJapaneseKatakanaExtendedAndJapanese	= 50930,
	msoEncodingEBCDICUSCanadaAndJapanese	= 50931,
	msoEncodingEBCDICKoreanExtendedAndKorean	= 50933,
	msoEncodingEBCDICSimplifiedChineseExtendedAndSimplifiedChinese	= 50935,
	msoEncodingEBCDICUSCanadaAndTraditionalChinese	= 50937,
	msoEncodingEBCDICJapaneseLatinExtendedAndJapanese	= 50939,
	msoEncodingOEMUnitedStates	= 437,
	msoEncodingOEMGreek437G	= 737,
	msoEncodingOEMBaltic	= 775,
	msoEncodingOEMMultilingualLatinI	= 850,
	msoEncodingOEMMultilingualLatinII	= 852,
	msoEncodingOEMCyrillic	= 855,
	msoEncodingOEMTurkish	= 857,
	msoEncodingOEMPortuguese	= 860,
	msoEncodingOEMIcelandic	= 861,
	msoEncodingOEMHebrew	= 862,
	msoEncodingOEMCanadianFrench	= 863,
	msoEncodingOEMArabic	= 864,
	msoEncodingOEMNordic	= 865,
	msoEncodingOEMCyrillicII	= 866,
	msoEncodingOEMModernGreek	= 869,
	msoEncodingEUCJapanese	= 51932,
	msoEncodingEUCChineseSimplifiedChinese	= 51936,
	msoEncodingEUCKorean	= 51949,
	msoEncodingEUCTaiwaneseTraditionalChinese	= 51950,
	msoEncodingISCIIDevanagari	= 57002,
	msoEncodingISCIIBengali	= 57003,
	msoEncodingISCIITamil	= 57004,
	msoEncodingISCIITelugu	= 57005,
	msoEncodingISCIIAssamese	= 57006,
	msoEncodingISCIIOriya	= 57007,
	msoEncodingISCIIKannada	= 57008,
	msoEncodingISCIIMalayalam	= 57009,
	msoEncodingISCIIGujarati	= 57010,
	msoEncodingISCIIPunjabi	= 57011,
	msoEncodingArabicASMO	= 708,
	msoEncodingArabicTransparentASMO	= 720,
	msoEncodingKoreanJohab	= 1361,
	msoEncodingTaiwanCNS	= 20000,
	msoEncodingTaiwanTCA	= 20001,
	msoEncodingTaiwanEten	= 20002,
	msoEncodingTaiwanIBM5550	= 20003,
	msoEncodingTaiwanTeleText	= 20004,
	msoEncodingTaiwanWang	= 20005,
	msoEncodingIA5IRV	= 20105,
	msoEncodingIA5German	= 20106,
	msoEncodingIA5Swedish	= 20107,
	msoEncodingIA5Norwegian	= 20108,
	msoEncodingUSASCII	= 20127,
	msoEncodingT61	= 20261,
	msoEncodingISO6937NonSpacingAccent	= 20269,
	msoEncodingKOI8R	= 20866,
	msoEncodingExtAlphaLowercase	= 21027,
	msoEncodingKOI8U	= 21866,
	msoEncodingEuropa3	= 29001,
	msoEncodingHZGBSimplifiedChinese	= 52936,
	msoEncodingSimplifiedChineseGB18030	= 54936,
	msoEncodingUTF7	= 65000,
	msoEncodingUTF8	= 65001
    } 	MsoEncoding;

typedef 
enum MsoHTMLProjectOpen
    {	msoHTMLProjectOpenSourceView	= 1,
	msoHTMLProjectOpenTextView	= 2
    } 	MsoHTMLProjectOpen;

typedef 
enum MsoHTMLProjectState
    {	msoHTMLProjectStateDocumentLocked	= 1,
	msoHTMLProjectStateProjectLocked	= 2,
	msoHTMLProjectStateDocumentProjectUnlocked	= 3
    } 	MsoHTMLProjectState;

typedef 
enum MsoFileDialogType
    {	msoFileDialogOpen	= 1,
	msoFileDialogSaveAs	= 2,
	msoFileDialogFilePicker	= 3,
	msoFileDialogFolderPicker	= 4
    } 	MsoFileDialogType;

typedef 
enum MsoFileDialogView
    {	msoFileDialogViewList	= 1,
	msoFileDialogViewDetails	= 2,
	msoFileDialogViewProperties	= 3,
	msoFileDialogViewPreview	= 4,
	msoFileDialogViewThumbnail	= 5,
	msoFileDialogViewLargeIcons	= 6,
	msoFileDialogViewSmallIcons	= 7,
	msoFileDialogViewWebView	= 8,
	msoFileDialogViewTiles	= 9
    } 	MsoFileDialogView;

typedef 
enum MsoAutomationSecurity
    {	msoAutomationSecurityLow	= 1,
	msoAutomationSecurityByUI	= 2,
	msoAutomationSecurityForceDisable	= 3
    } 	MsoAutomationSecurity;

typedef 
enum MailFormat
    {	mfPlainText	= 1,
	mfHTML	= 2,
	mfRTF	= 3
    } 	MailFormat;

typedef 
enum MsoAlertButtonType
    {	msoAlertButtonOK	= 0,
	msoAlertButtonOKCancel	= 1,
	msoAlertButtonAbortRetryIgnore	= 2,
	msoAlertButtonYesNoCancel	= 3,
	msoAlertButtonYesNo	= 4,
	msoAlertButtonRetryCancel	= 5,
	msoAlertButtonYesAllNoCancel	= 6
    } 	MsoAlertButtonType;

typedef 
enum MsoAlertIconType
    {	msoAlertIconNoIcon	= 0,
	msoAlertIconCritical	= 1,
	msoAlertIconQuery	= 2,
	msoAlertIconWarning	= 3,
	msoAlertIconInfo	= 4
    } 	MsoAlertIconType;

typedef 
enum MsoAlertDefaultType
    {	msoAlertDefaultFirst	= 0,
	msoAlertDefaultSecond	= 1,
	msoAlertDefaultThird	= 2,
	msoAlertDefaultFourth	= 3,
	msoAlertDefaultFifth	= 4
    } 	MsoAlertDefaultType;

typedef 
enum MsoAlertCancelType
    {	msoAlertCancelDefault	= -1,
	msoAlertCancelFirst	= 0,
	msoAlertCancelSecond	= 1,
	msoAlertCancelThird	= 2,
	msoAlertCancelFourth	= 3,
	msoAlertCancelFifth	= 4
    } 	MsoAlertCancelType;

typedef 
enum MsoSearchIn
    {	msoSearchInMyComputer	= 0,
	msoSearchInOutlook	= 1,
	msoSearchInMyNetworkPlaces	= 2,
	msoSearchInCustom	= 3
    } 	MsoSearchIn;

typedef 
enum MsoTargetBrowser
    {	msoTargetBrowserV3	= 0,
	msoTargetBrowserV4	= 1,
	msoTargetBrowserIE4	= 2,
	msoTargetBrowserIE5	= 3,
	msoTargetBrowserIE6	= 4
    } 	MsoTargetBrowser;

typedef 
enum MsoOrgChartOrientation
    {	msoOrgChartOrientationMixed	= -2,
	msoOrgChartOrientationVertical	= 1
    } 	MsoOrgChartOrientation;

typedef 
enum MsoOrgChartLayoutType
    {	msoOrgChartLayoutMixed	= -2,
	msoOrgChartLayoutStandard	= 1,
	msoOrgChartLayoutBothHanging	= 2,
	msoOrgChartLayoutLeftHanging	= 3,
	msoOrgChartLayoutRightHanging	= 4,
	msoOrgChartLayoutDefault	= 5
    } 	MsoOrgChartLayoutType;

typedef 
enum MsoRelativeNodePosition
    {	msoBeforeNode	= 1,
	msoAfterNode	= 2,
	msoBeforeFirstSibling	= 3,
	msoAfterLastSibling	= 4
    } 	MsoRelativeNodePosition;

typedef 
enum MsoDiagramType
    {	msoDiagramMixed	= -2,
	msoDiagramOrgChart	= 1,
	msoDiagramCycle	= 2,
	msoDiagramRadial	= 3,
	msoDiagramPyramid	= 4,
	msoDiagramVenn	= 5,
	msoDiagramTarget	= 6
    } 	MsoDiagramType;

typedef 
enum MsoDiagramNodeType
    {	msoDiagramNode	= 1,
	msoDiagramAssistant	= 2
    } 	MsoDiagramNodeType;

typedef 
enum MsoMoveRow
    {	msoMoveRowFirst	= -4,
	msoMoveRowPrev	= -3,
	msoMoveRowNext	= -2,
	msoMoveRowNbr	= -1
    } 	MsoMoveRow;

typedef 
enum MsoFilterComparison
    {	msoFilterComparisonEqual	= 0,
	msoFilterComparisonNotEqual	= 1,
	msoFilterComparisonLessThan	= 2,
	msoFilterComparisonGreaterThan	= 3,
	msoFilterComparisonLessThanEqual	= 4,
	msoFilterComparisonGreaterThanEqual	= 5,
	msoFilterComparisonIsBlank	= 6,
	msoFilterComparisonIsNotBlank	= 7,
	msoFilterComparisonContains	= 8,
	msoFilterComparisonNotContains	= 9
    } 	MsoFilterComparison;

typedef 
enum MsoFilterConjunction
    {	msoFilterConjunctionAnd	= 0,
	msoFilterConjunctionOr	= 1
    } 	MsoFilterConjunction;

typedef 
enum MsoFileNewSection
    {	msoOpenDocument	= 0,
	msoNew	= 1,
	msoNewfromExistingFile	= 2,
	msoNewfromTemplate	= 3,
	msoBottomSection	= 4
    } 	MsoFileNewSection;

typedef 
enum MsoFileNewAction
    {	msoEditFile	= 0,
	msoCreateNewFile	= 1,
	msoOpenFile	= 2
    } 	MsoFileNewAction;

typedef 
enum MsoLanguageIDHidden
    {	msoLanguageIDChineseHongKong	= 3076,
	msoLanguageIDChineseMacao	= 5124,
	msoLanguageIDEnglishTrinidad	= 11273
    } 	MsoLanguageIDHidden;

typedef 
enum MsoSharedWorkspaceTaskStatus
    {	msoSharedWorkspaceTaskStatusNotStarted	= 1,
	msoSharedWorkspaceTaskStatusInProgress	= 2,
	msoSharedWorkspaceTaskStatusCompleted	= 3,
	msoSharedWorkspaceTaskStatusDeferred	= 4,
	msoSharedWorkspaceTaskStatusWaiting	= 5
    } 	MsoSharedWorkspaceTaskStatus;

typedef 
enum MsoSharedWorkspaceTaskPriority
    {	msoSharedWorkspaceTaskPriorityHigh	= 1,
	msoSharedWorkspaceTaskPriorityNormal	= 2,
	msoSharedWorkspaceTaskPriorityLow	= 3
    } 	MsoSharedWorkspaceTaskPriority;

typedef 
enum MsoSyncVersionType
    {	msoSyncVersionLastViewed	= 0,
	msoSyncVersionServer	= 1
    } 	MsoSyncVersionType;

typedef 
enum MsoSyncConflictResolutionType
    {	msoSyncConflictClientWins	= 0,
	msoSyncConflictServerWins	= 1,
	msoSyncConflictMerge	= 2
    } 	MsoSyncConflictResolutionType;

typedef 
enum MsoSyncCompareType
    {	msoSyncCompareAndMerge	= 0,
	msoSyncCompareSideBySide	= 1
    } 	MsoSyncCompareType;

typedef 
enum MsoSyncAvailableType
    {	msoSyncAvailableNone	= 0,
	msoSyncAvailableOffline	= 1,
	msoSyncAvailableAnywhere	= 2
    } 	MsoSyncAvailableType;

typedef 
enum MsoSyncEventType
    {	msoSyncEventDownloadInitiated	= 0,
	msoSyncEventDownloadSucceeded	= 1,
	msoSyncEventDownloadFailed	= 2,
	msoSyncEventUploadInitiated	= 3,
	msoSyncEventUploadSucceeded	= 4,
	msoSyncEventUploadFailed	= 5,
	msoSyncEventDownloadNoChange	= 6,
	msoSyncEventOffline	= 7
    } 	MsoSyncEventType;

typedef 
enum MsoSyncErrorType
    {	msoSyncErrorNone	= 0,
	msoSyncErrorUnauthorizedUser	= 1,
	msoSyncErrorCouldNotConnect	= 2,
	msoSyncErrorOutOfSpace	= 3,
	msoSyncErrorFileNotFound	= 4,
	msoSyncErrorFileTooLarge	= 5,
	msoSyncErrorFileInUse	= 6,
	msoSyncErrorVirusUpload	= 7,
	msoSyncErrorVirusDownload	= 8,
	msoSyncErrorUnknownUpload	= 9,
	msoSyncErrorUnknownDownload	= 10,
	msoSyncErrorCouldNotOpen	= 11,
	msoSyncErrorCouldNotUpdate	= 12,
	msoSyncErrorCouldNotCompare	= 13,
	msoSyncErrorCouldNotResolve	= 14,
	msoSyncErrorNoNetwork	= 15,
	msoSyncErrorUnknown	= 16
    } 	MsoSyncErrorType;

typedef 
enum MsoSyncStatusType
    {	msoSyncStatusNoSharedWorkspace	= 0,
	msoSyncStatusNotRoaming	= 0,
	msoSyncStatusLatest	= 1,
	msoSyncStatusNewerAvailable	= 2,
	msoSyncStatusLocalChanges	= 3,
	msoSyncStatusConflict	= 4,
	msoSyncStatusSuspended	= 5,
	msoSyncStatusError	= 6
    } 	MsoSyncStatusType;

typedef 
enum MsoPermission
    {	msoPermissionView	= 1,
	msoPermissionRead	= 1,
	msoPermissionEdit	= 2,
	msoPermissionSave	= 4,
	msoPermissionExtract	= 8,
	msoPermissionChange	= 15,
	msoPermissionPrint	= 16,
	msoPermissionObjModel	= 32,
	msoPermissionFullControl	= 64,
	msoPermissionAllCommon	= 127
    } 	MsoPermission;

typedef 
enum MsoMetaPropertyType
    {	msoMetaPropertyTypeUnknown	= 0,
	msoMetaPropertyTypeBoolean	= 1,
	msoMetaPropertyTypeChoice	= 2,
	msoMetaPropertyTypeCalculated	= 3,
	msoMetaPropertyTypeComputed	= 4,
	msoMetaPropertyTypeCurrency	= 5,
	msoMetaPropertyTypeDateTime	= 6,
	msoMetaPropertyTypeFillInChoice	= 7,
	msoMetaPropertyTypeGuid	= 8,
	msoMetaPropertyTypeInteger	= 9,
	msoMetaPropertyTypeLookup	= 10,
	msoMetaPropertyTypeMultiChoiceLookup	= 11,
	msoMetaPropertyTypeMultiChoice	= 12,
	msoMetaPropertyTypeMultiChoiceFillIn	= 13,
	msoMetaPropertyTypeNote	= 14,
	msoMetaPropertyTypeNumber	= 15,
	msoMetaPropertyTypeText	= 16,
	msoMetaPropertyTypeUrl	= 17,
	msoMetaPropertyTypeUser	= 18,
	msoMetaPropertyTypeUserMulti	= 19,
	msoMetaPropertyTypeBusinessData	= 20,
	msoMetaPropertyTypeBusinessDataSecondary	= 21,
	msoMetaPropertyTypeMax	= 22
    } 	MsoMetaPropertyType;

typedef 
enum MsoSignatureSubset
    {	msoSignatureSubsetSignaturesAllSigs	= 0,
	msoSignatureSubsetSignaturesNonVisible	= 1,
	msoSignatureSubsetSignatureLines	= 2,
	msoSignatureSubsetSignatureLinesSigned	= 3,
	msoSignatureSubsetSignatureLinesUnsigned	= 4,
	msoSignatureSubsetAll	= 5
    } 	MsoSignatureSubset;

typedef 
enum MsoDocInspectorStatus
    {	msoDocInspectorStatusDocOk	= 0,
	msoDocInspectorStatusIssueFound	= 1,
	msoDocInspectorStatusError	= 2
    } 	MsoDocInspectorStatus;

typedef 
enum SignatureDetail
    {	sigdetLocalSigningTime	= 0,
	sigdetApplicationName	= 1,
	sigdetApplicationVersion	= 2,
	sigdetOfficeVersion	= 3,
	sigdetWindowsVersion	= 4,
	sigdetNumberOfMonitors	= 5,
	sigdetHorizResolution	= 6,
	sigdetVertResolution	= 7,
	sigdetColorDepth	= 8,
	sigdetSignedData	= 9,
	sigdetDocPreviewImg	= 10,
	sigdetIPFormHash	= 11,
	sigdetIPCurrentView	= 12,
	sigdetSignatureType	= 13,
	sigdetHashAlgorithm	= 14,
	sigdetShouldShowViewWarning	= 15,
	sigdetDelSuggSigner	= 16,
	sigdetDelSuggSignerSet	= 17,
	sigdetDelSuggSignerLine2	= 18,
	sigdetDelSuggSignerLine2Set	= 19,
	sigdetDelSuggSignerEmail	= 20,
	sigdetDelSuggSignerEmailSet	= 21
    } 	SignatureDetail;

typedef 
enum CertificateDetail
    {	certdetAvailable	= 0,
	certdetSubject	= 1,
	certdetIssuer	= 2,
	certdetExpirationDate	= 3,
	certdetThumbprint	= 4
    } 	CertificateDetail;

typedef 
enum ContentVerificationResults
    {	contverresError	= 0,
	contverresVerifying	= 1,
	contverresUnverified	= 2,
	contverresValid	= 3,
	contverresModified	= 4
    } 	ContentVerificationResults;

typedef 
enum CertificateVerificationResults
    {	certverresError	= 0,
	certverresVerifying	= 1,
	certverresUnverified	= 2,
	certverresValid	= 3,
	certverresInvalid	= 4,
	certverresExpired	= 5,
	certverresRevoked	= 6,
	certverresUntrusted	= 7
    } 	CertificateVerificationResults;

typedef 
enum SignatureLineImage
    {	siglnimgSoftwareRequired	= 0,
	siglnimgUnsigned	= 1,
	siglnimgSignedValid	= 2,
	siglnimgSignedInvalid	= 3,
	siglnimgSigned	= 4
    } 	SignatureLineImage;

typedef 
enum SignatureProviderDetail
    {	sigprovdetUrl	= 0,
	sigprovdetHashAlgorithm	= 1,
	sigprovdetUIOnly	= 2,
	sigprovdetUseOfficeUI	= 3,
	sigprovdetUseOfficeStampUI	= 4
    } 	SignatureProviderDetail;

typedef 
enum SignatureType
    {	sigtypeUnknown	= 0,
	sigtypeNonVisible	= 1,
	sigtypeSignatureLine	= 2,
	sigtypeMax	= 3
    } 	SignatureType;

typedef 
enum MsoCustomXMLNodeType
    {	msoCustomXMLNodeElement	= 1,
	msoCustomXMLNodeAttribute	= 2,
	msoCustomXMLNodeText	= 3,
	msoCustomXMLNodeCData	= 4,
	msoCustomXMLNodeProcessingInstruction	= 7,
	msoCustomXMLNodeComment	= 8,
	msoCustomXMLNodeDocument	= 9
    } 	MsoCustomXMLNodeType;

typedef 
enum MsoCustomXMLValidationErrorType
    {	msoCustomXMLValidationErrorSchemaGenerated	= 0,
	msoCustomXMLValidationErrorAutomaticallyCleared	= 1,
	msoCustomXMLValidationErrorManual	= 2
    } 	MsoCustomXMLValidationErrorType;

typedef 
enum MsoTextureAlignment
    {	msoTextureAlignmentMixed	= -2,
	msoTextureTopLeft	= 0,
	msoTextureTop	= 1,
	msoTextureTopRight	= 2,
	msoTextureLeft	= 3,
	msoTextureCenter	= 4,
	msoTextureRight	= 5,
	msoTextureBottomLeft	= 6,
	msoTextureBottom	= 7,
	msoTextureBottomRight	= 8
    } 	MsoTextureAlignment;

typedef 
enum MsoSoftEdgeType
    {	msoSoftEdgeTypeMixed	= -2,
	msoSoftEdgeTypeNone	= 0,
	msoSoftEdgeType1	= 1,
	msoSoftEdgeType2	= 2,
	msoSoftEdgeType3	= 3,
	msoSoftEdgeType4	= 4,
	msoSoftEdgeType5	= 5,
	msoSoftEdgeType6	= 6
    } 	MsoSoftEdgeType;

typedef 
enum MsoReflectionType
    {	msoReflectionTypeMixed	= -2,
	msoReflectionTypeNone	= 0,
	msoReflectionType1	= 1,
	msoReflectionType2	= 2,
	msoReflectionType3	= 3,
	msoReflectionType4	= 4,
	msoReflectionType5	= 5,
	msoReflectionType6	= 6,
	msoReflectionType7	= 7,
	msoReflectionType8	= 8,
	msoReflectionType9	= 9
    } 	MsoReflectionType;

typedef 
enum MsoPresetCamera
    {	msoPresetCameraMixed	= -2,
	msoCameraLegacyObliqueTopLeft	= 1,
	msoCameraLegacyObliqueTop	= 2,
	msoCameraLegacyObliqueTopRight	= 3,
	msoCameraLegacyObliqueLeft	= 4,
	msoCameraLegacyObliqueFront	= 5,
	msoCameraLegacyObliqueRight	= 6,
	msoCameraLegacyObliqueBottomLeft	= 7,
	msoCameraLegacyObliqueBottom	= 8,
	msoCameraLegacyObliqueBottomRight	= 9,
	msoCameraLegacyPerspectiveTopLeft	= 10,
	msoCameraLegacyPerspectiveTop	= 11,
	msoCameraLegacyPerspectiveTopRight	= 12,
	msoCameraLegacyPerspectiveLeft	= 13,
	msoCameraLegacyPerspectiveFront	= 14,
	msoCameraLegacyPerspectiveRight	= 15,
	msoCameraLegacyPerspectiveBottomLeft	= 16,
	msoCameraLegacyPerspectiveBottom	= 17,
	msoCameraLegacyPerspectiveBottomRight	= 18,
	msoCameraOrthographicFront	= 19,
	msoCameraIsometricTopUp	= 20,
	msoCameraIsometricTopDown	= 21,
	msoCameraIsometricBottomUp	= 22,
	msoCameraIsometricBottomDown	= 23,
	msoCameraIsometricLeftUp	= 24,
	msoCameraIsometricLeftDown	= 25,
	msoCameraIsometricRightUp	= 26,
	msoCameraIsometricRightDown	= 27,
	msoCameraIsometricOffAxis1Left	= 28,
	msoCameraIsometricOffAxis1Right	= 29,
	msoCameraIsometricOffAxis1Top	= 30,
	msoCameraIsometricOffAxis2Left	= 31,
	msoCameraIsometricOffAxis2Right	= 32,
	msoCameraIsometricOffAxis2Top	= 33,
	msoCameraIsometricOffAxis3Left	= 34,
	msoCameraIsometricOffAxis3Right	= 35,
	msoCameraIsometricOffAxis3Bottom	= 36,
	msoCameraIsometricOffAxis4Left	= 37,
	msoCameraIsometricOffAxis4Right	= 38,
	msoCameraIsometricOffAxis4Bottom	= 39,
	msoCameraObliqueTopLeft	= 40,
	msoCameraObliqueTop	= 41,
	msoCameraObliqueTopRight	= 42,
	msoCameraObliqueLeft	= 43,
	msoCameraObliqueRight	= 44,
	msoCameraObliqueBottomLeft	= 45,
	msoCameraObliqueBottom	= 46,
	msoCameraObliqueBottomRight	= 47,
	msoCameraPerspectiveFront	= 48,
	msoCameraPerspectiveLeft	= 49,
	msoCameraPerspectiveRight	= 50,
	msoCameraPerspectiveAbove	= 51,
	msoCameraPerspectiveBelow	= 52,
	msoCameraPerspectiveAboveLeftFacing	= 53,
	msoCameraPerspectiveAboveRightFacing	= 54,
	msoCameraPerspectiveContrastingLeftFacing	= 55,
	msoCameraPerspectiveContrastingRightFacing	= 56,
	msoCameraPerspectiveHeroicLeftFacing	= 57,
	msoCameraPerspectiveHeroicRightFacing	= 58,
	msoCameraPerspectiveHeroicExtremeLeftFacing	= 59,
	msoCameraPerspectiveHeroicExtremeRightFacing	= 60,
	msoCameraPerspectiveRelaxed	= 61,
	msoCameraPerspectiveRelaxedModerately	= 62
    } 	MsoPresetCamera;

typedef 
enum MsoBevelType
    {	msoBevelTypeMixed	= -2,
	msoBevelNone	= 1,
	msoBevelRelaxedInset	= 2,
	msoBevelCircle	= 3,
	msoBevelSlope	= 4,
	msoBevelCross	= 5,
	msoBevelAngle	= 6,
	msoBevelSoftRound	= 7,
	msoBevelConvex	= 8,
	msoBevelCoolSlant	= 9,
	msoBevelDivot	= 10,
	msoBevelRiblet	= 11,
	msoBevelHardEdge	= 12,
	msoBevelArtDeco	= 13
    } 	MsoBevelType;

typedef 
enum MsoLightRigType
    {	msoLightRigMixed	= -2,
	msoLightRigLegacyFlat1	= 1,
	msoLightRigLegacyFlat2	= 2,
	msoLightRigLegacyFlat3	= 3,
	msoLightRigLegacyFlat4	= 4,
	msoLightRigLegacyNormal1	= 5,
	msoLightRigLegacyNormal2	= 6,
	msoLightRigLegacyNormal3	= 7,
	msoLightRigLegacyNormal4	= 8,
	msoLightRigLegacyHarsh1	= 9,
	msoLightRigLegacyHarsh2	= 10,
	msoLightRigLegacyHarsh3	= 11,
	msoLightRigLegacyHarsh4	= 12,
	msoLightRigThreePoint	= 13,
	msoLightRigBalanced	= 14,
	msoLightRigSoft	= 15,
	msoLightRigHarsh	= 16,
	msoLightRigFlood	= 17,
	msoLightRigContrasting	= 18,
	msoLightRigMorning	= 19,
	msoLightRigSunrise	= 20,
	msoLightRigSunset	= 21,
	msoLightRigChilly	= 22,
	msoLightRigFreezing	= 23,
	msoLightRigFlat	= 24,
	msoLightRigTwoPoint	= 25,
	msoLightRigGlow	= 26,
	msoLightRigBrightRoom	= 27
    } 	MsoLightRigType;

typedef 
enum MsoParagraphAlignment
    {	msoAlignMixed	= -2,
	msoAlignLeft	= 1,
	msoAlignCenter	= 2,
	msoAlignRight	= 3,
	msoAlignJustify	= 4,
	msoAlignDistribute	= 5,
	msoAlignThaiDistribute	= 6,
	msoAlignJustifyLow	= 7
    } 	MsoParagraphAlignment;

typedef 
enum MsoTextStrike
    {	msoStrikeMixed	= -2,
	msoNoStrike	= 0,
	msoSingleStrike	= 1,
	msoDoubleStrike	= 2
    } 	MsoTextStrike;

typedef 
enum MsoTextCaps
    {	msoCapsMixed	= -2,
	msoNoCaps	= 0,
	msoSmallCaps	= 1,
	msoAllCaps	= 2
    } 	MsoTextCaps;

typedef 
enum MsoTextUnderlineType
    {	msoUnderlineMixed	= -2,
	msoNoUnderline	= 0,
	msoUnderlineWords	= 1,
	msoUnderlineSingleLine	= 2,
	msoUnderlineDoubleLine	= 3,
	msoUnderlineHeavyLine	= 4,
	msoUnderlineDottedLine	= 5,
	msoUnderlineDottedHeavyLine	= 6,
	msoUnderlineDashLine	= 7,
	msoUnderlineDashHeavyLine	= 8,
	msoUnderlineDashLongLine	= 9,
	msoUnderlineDashLongHeavyLine	= 10,
	msoUnderlineDotDashLine	= 11,
	msoUnderlineDotDashHeavyLine	= 12,
	msoUnderlineDotDotDashLine	= 13,
	msoUnderlineDotDotDashHeavyLine	= 14,
	msoUnderlineWavyLine	= 15,
	msoUnderlineWavyHeavyLine	= 16,
	msoUnderlineWavyDoubleLine	= 17
    } 	MsoTextUnderlineType;

typedef 
enum MsoTextTabAlign
    {	msoTabAlignMixed	= -2,
	msoTabAlignLeft	= 0,
	msoTabAlignCenter	= 1,
	msoTabAlignRight	= 2,
	msoTabAlignDecimal	= 3
    } 	MsoTextTabAlign;

typedef 
enum MsoTextCharWrap
    {	msoCharWrapMixed	= -2,
	msoNoCharWrap	= 0,
	msoStandardCharWrap	= 1,
	msoStrictCharWrap	= 2,
	msoCustomCharWrap	= 3
    } 	MsoTextCharWrap;

typedef 
enum MsoTextFontAlign
    {	msoFontAlignMixed	= -2,
	msoFontAlignAuto	= 0,
	msoFontAlignTop	= 1,
	msoFontAlignCenter	= 2,
	msoFontAlignBaseline	= 3,
	msoFontAlignBottom	= 4
    } 	MsoTextFontAlign;

typedef 
enum MsoAutoSize
    {	msoAutoSizeMixed	= -2,
	msoAutoSizeNone	= 0,
	msoAutoSizeShapeToFitText	= 1,
	msoAutoSizeTextToFitShape	= 2
    } 	MsoAutoSize;

typedef 
enum MsoPathFormat
    {	msoPathTypeMixed	= -2,
	msoPathTypeNone	= 0,
	msoPathType1	= 1,
	msoPathType2	= 2,
	msoPathType3	= 3,
	msoPathType4	= 4
    } 	MsoPathFormat;

typedef 
enum MsoWarpFormat
    {	msoWarpFormatMixed	= -2,
	msoWarpFormat1	= 0,
	msoWarpFormat2	= 1,
	msoWarpFormat3	= 2,
	msoWarpFormat4	= 3,
	msoWarpFormat5	= 4,
	msoWarpFormat6	= 5,
	msoWarpFormat7	= 6,
	msoWarpFormat8	= 7,
	msoWarpFormat9	= 8,
	msoWarpFormat10	= 9,
	msoWarpFormat11	= 10,
	msoWarpFormat12	= 11,
	msoWarpFormat13	= 12,
	msoWarpFormat14	= 13,
	msoWarpFormat15	= 14,
	msoWarpFormat16	= 15,
	msoWarpFormat17	= 16,
	msoWarpFormat18	= 17,
	msoWarpFormat19	= 18,
	msoWarpFormat20	= 19,
	msoWarpFormat21	= 20,
	msoWarpFormat22	= 21,
	msoWarpFormat23	= 22,
	msoWarpFormat24	= 23,
	msoWarpFormat25	= 24,
	msoWarpFormat26	= 25,
	msoWarpFormat27	= 26,
	msoWarpFormat28	= 27,
	msoWarpFormat29	= 28,
	msoWarpFormat30	= 29,
	msoWarpFormat31	= 30,
	msoWarpFormat32	= 31,
	msoWarpFormat33	= 32,
	msoWarpFormat34	= 33,
	msoWarpFormat35	= 34,
	msoWarpFormat36	= 35,
	msoWarpFormat37	= 36
    } 	MsoWarpFormat;

typedef 
enum MsoTextChangeCase
    {	msoCaseSentence	= 1,
	msoCaseLower	= 2,
	msoCaseUpper	= 3,
	msoCaseTitle	= 4,
	msoCaseToggle	= 5
    } 	MsoTextChangeCase;

typedef 
enum MsoDateTimeFormat
    {	msoDateTimeFormatMixed	= -2,
	msoDateTimeMdyy	= 1,
	msoDateTimeddddMMMMddyyyy	= 2,
	msoDateTimedMMMMyyyy	= 3,
	msoDateTimeMMMMdyyyy	= 4,
	msoDateTimedMMMyy	= 5,
	msoDateTimeMMMMyy	= 6,
	msoDateTimeMMyy	= 7,
	msoDateTimeMMddyyHmm	= 8,
	msoDateTimeMMddyyhmmAMPM	= 9,
	msoDateTimeHmm	= 10,
	msoDateTimeHmmss	= 11,
	msoDateTimehmmAMPM	= 12,
	msoDateTimehmmssAMPM	= 13,
	msoDateTimeFigureOut	= 14
    } 	MsoDateTimeFormat;

typedef 
enum MsoThemeColorSchemeIndex
    {	msoThemeDark1	= 1,
	msoThemeLight1	= 2,
	msoThemeDark2	= 3,
	msoThemeLight2	= 4,
	msoThemeAccent1	= 5,
	msoThemeAccent2	= 6,
	msoThemeAccent3	= 7,
	msoThemeAccent4	= 8,
	msoThemeAccent5	= 9,
	msoThemeAccent6	= 10,
	msoThemeHyperlink	= 11,
	msoThemeFollowedHyperlink	= 12
    } 	MsoThemeColorSchemeIndex;

typedef 
enum MsoThemeColorIndex
    {	msoThemeColorMixed	= -2,
	msoNotThemeColor	= 0,
	msoThemeColorDark1	= 1,
	msoThemeColorLight1	= 2,
	msoThemeColorDark2	= 3,
	msoThemeColorLight2	= 4,
	msoThemeColorAccent1	= 5,
	msoThemeColorAccent2	= 6,
	msoThemeColorAccent3	= 7,
	msoThemeColorAccent4	= 8,
	msoThemeColorAccent5	= 9,
	msoThemeColorAccent6	= 10,
	msoThemeColorHyperlink	= 11,
	msoThemeColorFollowedHyperlink	= 12,
	msoThemeColorText1	= 13,
	msoThemeColorBackground1	= 14,
	msoThemeColorText2	= 15,
	msoThemeColorBackground2	= 16
    } 	MsoThemeColorIndex;

typedef 
enum MsoFontLanguageIndex
    {	msoThemeLatin	= 1,
	msoThemeComplexScript	= 2,
	msoThemeEastAsian	= 3
    } 	MsoFontLanguageIndex;

typedef 
enum MsoShapeStyleIndex
    {	msoShapeStyleMixed	= -2,
	msoShapeStyleNotAPreset	= 0,
	msoShapeStylePreset1	= 1,
	msoShapeStylePreset2	= 2,
	msoShapeStylePreset3	= 3,
	msoShapeStylePreset4	= 4,
	msoShapeStylePreset5	= 5,
	msoShapeStylePreset6	= 6,
	msoShapeStylePreset7	= 7,
	msoShapeStylePreset8	= 8,
	msoShapeStylePreset9	= 9,
	msoShapeStylePreset10	= 10,
	msoShapeStylePreset11	= 11,
	msoShapeStylePreset12	= 12,
	msoShapeStylePreset13	= 13,
	msoShapeStylePreset14	= 14,
	msoShapeStylePreset15	= 15,
	msoShapeStylePreset16	= 16,
	msoShapeStylePreset17	= 17,
	msoShapeStylePreset18	= 18,
	msoShapeStylePreset19	= 19,
	msoShapeStylePreset20	= 20,
	msoShapeStylePreset21	= 21,
	msoShapeStylePreset22	= 22,
	msoShapeStylePreset23	= 23,
	msoShapeStylePreset24	= 24,
	msoShapeStylePreset25	= 25,
	msoShapeStylePreset26	= 26,
	msoShapeStylePreset27	= 27,
	msoShapeStylePreset28	= 28,
	msoShapeStylePreset29	= 29,
	msoShapeStylePreset30	= 30,
	msoShapeStylePreset31	= 31,
	msoShapeStylePreset32	= 32,
	msoShapeStylePreset33	= 33,
	msoShapeStylePreset34	= 34,
	msoShapeStylePreset35	= 35,
	msoShapeStylePreset36	= 36,
	msoShapeStylePreset37	= 37,
	msoShapeStylePreset38	= 38,
	msoShapeStylePreset39	= 39,
	msoShapeStylePreset40	= 40,
	msoShapeStylePreset41	= 41,
	msoShapeStylePreset42	= 42,
	msoLineStylePreset1	= 10001,
	msoLineStylePreset2	= 10002,
	msoLineStylePreset3	= 10003,
	msoLineStylePreset4	= 10004,
	msoLineStylePreset5	= 10005,
	msoLineStylePreset6	= 10006,
	msoLineStylePreset7	= 10007,
	msoLineStylePreset8	= 10008,
	msoLineStylePreset9	= 10009,
	msoLineStylePreset10	= 10010,
	msoLineStylePreset11	= 10011,
	msoLineStylePreset12	= 10012,
	msoLineStylePreset13	= 10013,
	msoLineStylePreset14	= 10014,
	msoLineStylePreset15	= 10015,
	msoLineStylePreset16	= 10016,
	msoLineStylePreset17	= 10017,
	msoLineStylePreset18	= 10018,
	msoLineStylePreset19	= 10019,
	msoLineStylePreset20	= 10020,
	msoLineStylePreset21	= 10021
    } 	MsoShapeStyleIndex;

typedef 
enum MsoBackgroundStyleIndex
    {	msoBackgroundStyleMixed	= -2,
	msoBackgroundStyleNotAPreset	= 0,
	msoBackgroundStylePreset1	= 1,
	msoBackgroundStylePreset2	= 2,
	msoBackgroundStylePreset3	= 3,
	msoBackgroundStylePreset4	= 4,
	msoBackgroundStylePreset5	= 5,
	msoBackgroundStylePreset6	= 6,
	msoBackgroundStylePreset7	= 7,
	msoBackgroundStylePreset8	= 8,
	msoBackgroundStylePreset9	= 9,
	msoBackgroundStylePreset10	= 10,
	msoBackgroundStylePreset11	= 11,
	msoBackgroundStylePreset12	= 12
    } 	MsoBackgroundStyleIndex;

typedef 
enum MsoCTPDockPosition
    {	msoCTPDockPositionLeft	= 0,
	msoCTPDockPositionTop	= 1,
	msoCTPDockPositionRight	= 2,
	msoCTPDockPositionBottom	= 3,
	msoCTPDockPositionFloating	= 4
    } 	MsoCTPDockPosition;

typedef 
enum MsoCTPDockPositionRestrict
    {	msoCTPDockPositionRestrictNone	= 0,
	msoCTPDockPositionRestrictNoChange	= 1,
	msoCTPDockPositionRestrictNoHorizontal	= 2,
	msoCTPDockPositionRestrictNoVertical	= 3
    } 	MsoCTPDockPositionRestrict;

typedef 
enum RibbonControlSize
    {	RibbonControlSizeRegular	= 0,
	RibbonControlSizeLarge	= 1
    } 	RibbonControlSize;

typedef 
enum MsoShadowStyle
    {	msoShadowStyleMixed	= -2,
	msoShadowStyleInnerShadow	= 1,
	msoShadowStyleOuterShadow	= 2
    } 	MsoShadowStyle;

typedef 
enum MsoTextDirection
    {	msoTextDirectionMixed	= -2,
	msoTextDirectionLeftToRight	= 1,
	msoTextDirectionRightToLeft	= 2
    } 	MsoTextDirection;

typedef 
enum XlChartType
    {	xlColumnClustered	= 51,
	xlColumnStacked	= 52,
	xlColumnStacked100	= 53,
	xl3DColumnClustered	= 54,
	xl3DColumnStacked	= 55,
	xl3DColumnStacked100	= 56,
	xlBarClustered	= 57,
	xlBarStacked	= 58,
	xlBarStacked100	= 59,
	xl3DBarClustered	= 60,
	xl3DBarStacked	= 61,
	xl3DBarStacked100	= 62,
	xlLineStacked	= 63,
	xlLineStacked100	= 64,
	xlLineMarkers	= 65,
	xlLineMarkersStacked	= 66,
	xlLineMarkersStacked100	= 67,
	xlPieOfPie	= 68,
	xlPieExploded	= 69,
	xl3DPieExploded	= 70,
	xlBarOfPie	= 71,
	xlXYScatterSmooth	= 72,
	xlXYScatterSmoothNoMarkers	= 73,
	xlXYScatterLines	= 74,
	xlXYScatterLinesNoMarkers	= 75,
	xlAreaStacked	= 76,
	xlAreaStacked100	= 77,
	xl3DAreaStacked	= 78,
	xl3DAreaStacked100	= 79,
	xlDoughnutExploded	= 80,
	xlRadarMarkers	= 81,
	xlRadarFilled	= 82,
	xlSurface	= 83,
	xlSurfaceWireframe	= 84,
	xlSurfaceTopView	= 85,
	xlSurfaceTopViewWireframe	= 86,
	xlBubble	= 15,
	xlBubble3DEffect	= 87,
	xlStockHLC	= 88,
	xlStockOHLC	= 89,
	xlStockVHLC	= 90,
	xlStockVOHLC	= 91,
	xlCylinderColClustered	= 92,
	xlCylinderColStacked	= 93,
	xlCylinderColStacked100	= 94,
	xlCylinderBarClustered	= 95,
	xlCylinderBarStacked	= 96,
	xlCylinderBarStacked100	= 97,
	xlCylinderCol	= 98,
	xlConeColClustered	= 99,
	xlConeColStacked	= 100,
	xlConeColStacked100	= 101,
	xlConeBarClustered	= 102,
	xlConeBarStacked	= 103,
	xlConeBarStacked100	= 104,
	xlConeCol	= 105,
	xlPyramidColClustered	= 106,
	xlPyramidColStacked	= 107,
	xlPyramidColStacked100	= 108,
	xlPyramidBarClustered	= 109,
	xlPyramidBarStacked	= 110,
	xlPyramidBarStacked100	= 111,
	xlPyramidCol	= 112,
	xl3DColumn	= -4100,
	xlLine	= 4,
	xl3DLine	= -4101,
	xl3DPie	= -4102,
	xlPie	= 5,
	xlXYScatter	= -4169,
	xl3DArea	= -4098,
	xlArea	= 1,
	xlDoughnut	= -4120,
	xlRadar	= -4151,
	xlCombo	= -4152,
	xlComboColumnClusteredLine	= 113,
	xlComboColumnClusteredLineSecondaryAxis	= 114,
	xlComboAreaStackedColumnClustered	= 115,
	xlOtherCombinations	= 116,
	xlSuggestedChart	= -2
    } 	XlChartType;

typedef /* [uuid] */  DECLSPEC_UUID("732091CB-0A8D-44BC-B977-418CCB37B552") 
enum XlChartSplitType
    {	xlSplitByPosition	= 1,
	xlSplitByPercentValue	= 3,
	xlSplitByCustomSplit	= 4,
	xlSplitByValue	= 2
    } 	XlChartSplitType;

typedef /* [uuid] */  DECLSPEC_UUID("7FFFFFFF-ECC1-43E3-80EF-25D6FBCC7540") 
enum XlSizeRepresents
    {	xlSizeIsWidth	= 2,
	xlSizeIsArea	= 1
    } 	XlSizeRepresents;

typedef /* [uuid] */  DECLSPEC_UUID("7D8D95F5-EFE7-4189-8D68-0B3BCCEA097A") 
enum XlAxisGroup
    {	xlPrimary	= 1,
	xlSecondary	= 2
    } 	XlAxisGroup;

typedef 
enum XlConstants
    {	xlAutomatic	= -4105,
	xlCombination	= -4111,
	xlCustom	= -4114,
	xlBar	= 2,
	xlColumn	= 3,
	xl3DBar	= -4099,
	xl3DSurface	= -4103,
	xlDefaultAutoFormat	= -1,
	xlNone	= -4142,
	xlAbove	= 0,
	xlBelow	= 1,
	xlBoth	= 1,
	xlBottom	= -4107,
	xlCenter	= -4108,
	xlChecker	= 9,
	xlCircle	= 8,
	xlCorner	= 2,
	xlCrissCross	= 16,
	xlCross	= 4,
	xlDiamond	= 2,
	xlDistributed	= -4117,
	xlFill	= 5,
	xlFixedValue	= 1,
	xlGeneral	= 1,
	xlGray16	= 17,
	xlGray25	= -4124,
	xlGray50	= -4125,
	xlGray75	= -4126,
	xlGray8	= 18,
	xlGrid	= 15,
	xlHigh	= -4127,
	xlInside	= 2,
	xlJustify	= -4130,
	xlLeft	= -4131,
	xlLightDown	= 13,
	xlLightHorizontal	= 11,
	xlLightUp	= 14,
	xlLightVertical	= 12,
	xlLow	= -4134,
	xlMaximum	= 2,
	xlMinimum	= 4,
	xlMinusValues	= 3,
	xlNextToAxis	= 4,
	xlOpaque	= 3,
	xlOutside	= 3,
	xlPercent	= 2,
	xlPlus	= 9,
	xlPlusValues	= 2,
	xlRight	= -4152,
	xlScale	= 3,
	xlSemiGray75	= 10,
	xlShowLabel	= 4,
	xlShowLabelAndPercent	= 5,
	xlShowPercent	= 3,
	xlShowValue	= 2,
	xlSingle	= 2,
	xlSolid	= 1,
	xlSquare	= 1,
	xlStar	= 5,
	xlStError	= 4,
	xlTop	= -4160,
	xlTransparent	= 2,
	xlTriangle	= 3
    } 	XlConstants;

typedef 
enum XlReadingOrder
    {	xlContext	= -5002,
	xlLTR	= -5003,
	xlRTL	= -5004
    } 	XlReadingOrder;

typedef 
enum XlBorderWeight
    {	xlHairline	= 1,
	xlMedium	= -4138,
	xlThick	= 4,
	xlThin	= 2
    } 	XlBorderWeight;

typedef /* [uuid] */  DECLSPEC_UUID("04D217CD-1859-4786-B583-07BA2092A552") 
enum XlLegendPosition
    {	xlLegendPositionBottom	= -4107,
	xlLegendPositionCorner	= 2,
	xlLegendPositionLeft	= -4131,
	xlLegendPositionRight	= -4152,
	xlLegendPositionTop	= -4160,
	xlLegendPositionCustom	= -4161
    } 	XlLegendPosition;

typedef /* [uuid] */  DECLSPEC_UUID("7FFFFFFF-5EA9-4D9B-9B61-D6D1E7C087E2") 
enum XlUnderlineStyle
    {	xlUnderlineStyleDouble	= -4119,
	xlUnderlineStyleDoubleAccounting	= 5,
	xlUnderlineStyleNone	= -4142,
	xlUnderlineStyleSingle	= 2,
	xlUnderlineStyleSingleAccounting	= 4
    } 	XlUnderlineStyle;

typedef /* [uuid] */  DECLSPEC_UUID("7FFFFFFF-B530-466E-83D5-325653CC1068") 
enum XlColorIndex
    {	xlColorIndexAutomatic	= -4105,
	xlColorIndexNone	= -4142
    } 	XlColorIndex;

typedef /* [uuid] */  DECLSPEC_UUID("7CC8C2D6-8F8A-490B-B6F8-3C410554F9E4") 
enum XlMarkerStyle
    {	xlMarkerStyleAutomatic	= -4105,
	xlMarkerStyleCircle	= 8,
	xlMarkerStyleDash	= -4115,
	xlMarkerStyleDiamond	= 2,
	xlMarkerStyleDot	= -4118,
	xlMarkerStyleNone	= -4142,
	xlMarkerStylePicture	= -4147,
	xlMarkerStylePlus	= 9,
	xlMarkerStyleSquare	= 1,
	xlMarkerStyleStar	= 5,
	xlMarkerStyleTriangle	= 3,
	xlMarkerStyleX	= -4168
    } 	XlMarkerStyle;

typedef 
enum XlRowCol
    {	xlColumns	= 2,
	xlRows	= 1
    } 	XlRowCol;

typedef 
enum XlDataLabelsType
    {	xlDataLabelsShowNone	= -4142,
	xlDataLabelsShowValue	= 2,
	xlDataLabelsShowPercent	= 3,
	xlDataLabelsShowLabel	= 4,
	xlDataLabelsShowLabelAndPercent	= 5,
	xlDataLabelsShowBubbleSizes	= 6
    } 	XlDataLabelsType;

typedef 
enum XlErrorBarInclude
    {	xlErrorBarIncludeBoth	= 1,
	xlErrorBarIncludeMinusValues	= 3,
	xlErrorBarIncludeNone	= -4142,
	xlErrorBarIncludePlusValues	= 2
    } 	XlErrorBarInclude;

typedef 
enum XlErrorBarType
    {	xlErrorBarTypeCustom	= -4114,
	xlErrorBarTypeFixedValue	= 1,
	xlErrorBarTypePercent	= 2,
	xlErrorBarTypeStDev	= -4155,
	xlErrorBarTypeStError	= 4
    } 	XlErrorBarType;

typedef 
enum XlErrorBarDirection
    {	xlChartX	= -4168,
	xlChartY	= 1
    } 	XlErrorBarDirection;

typedef 
enum XlChartPictureType
    {	xlStackScale	= 3,
	xlStack	= 2,
	xlStretch	= 1
    } 	XlChartPictureType;

typedef 
enum XlChartItem
    {	xlDataLabel	= 0,
	xlChartArea	= 2,
	xlSeries	= 3,
	xlChartTitle	= 4,
	xlWalls	= 5,
	xlCorners	= 6,
	xlDataTable	= 7,
	xlTrendline	= 8,
	xlErrorBars	= 9,
	xlXErrorBars	= 10,
	xlYErrorBars	= 11,
	xlLegendEntry	= 12,
	xlLegendKey	= 13,
	xlShape	= 14,
	xlMajorGridlines	= 15,
	xlMinorGridlines	= 16,
	xlAxisTitle	= 17,
	xlUpBars	= 18,
	xlPlotArea	= 19,
	xlDownBars	= 20,
	xlAxis	= 21,
	xlSeriesLines	= 22,
	xlFloor	= 23,
	xlLegend	= 24,
	xlHiLoLines	= 25,
	xlDropLines	= 26,
	xlRadarAxisLabels	= 27,
	xlNothing	= 28,
	xlLeaderLines	= 29,
	xlDisplayUnitLabel	= 30,
	xlPivotChartFieldButton	= 31,
	xlPivotChartDropZone	= 32
    } 	XlChartItem;

typedef 
enum XlBarShape
    {	xlBox	= 0,
	xlPyramidToPoint	= 1,
	xlPyramidToMax	= 2,
	xlCylinder	= 3,
	xlConeToPoint	= 4,
	xlConeToMax	= 5
    } 	XlBarShape;

typedef 
enum XlEndStyleCap
    {	xlCap	= 1,
	xlNoCap	= 2
    } 	XlEndStyleCap;

typedef 
enum XlTrendlineType
    {	xlExponential	= 5,
	xlLinear	= -4132,
	xlLogarithmic	= -4133,
	xlMovingAvg	= 6,
	xlPolynomial	= 3,
	xlPower	= 4
    } 	XlTrendlineType;

typedef /* [uuid] */  DECLSPEC_UUID("23D8FDAA-ABF3-4735-99B8-F234EA2BE64C") 
enum XlAxisType
    {	xlCategory	= 1,
	xlSeriesAxis	= 3,
	xlValue	= 2
    } 	XlAxisType;

typedef /* [uuid] */  DECLSPEC_UUID("7FFFFFFF-5E70-4183-88C8-5EF4B213451F") 
enum XlAxisCrosses
    {	xlAxisCrossesAutomatic	= -4105,
	xlAxisCrossesCustom	= -4114,
	xlAxisCrossesMaximum	= 2,
	xlAxisCrossesMinimum	= 4
    } 	XlAxisCrosses;

typedef /* [uuid] */  DECLSPEC_UUID("7FFFFFFF-3A16-48F3-BECD-5839F6B552CA") 
enum XlTickMark
    {	xlTickMarkCross	= 4,
	xlTickMarkInside	= 2,
	xlTickMarkNone	= -4142,
	xlTickMarkOutside	= 3
    } 	XlTickMark;

typedef /* [uuid] */  DECLSPEC_UUID("6A0D7E5C-F9AD-4927-A850-5638891724B2") 
enum XlScaleType
    {	xlScaleLinear	= -4132,
	xlScaleLogarithmic	= -4133
    } 	XlScaleType;

typedef /* [uuid] */  DECLSPEC_UUID("7FFFFFFF-22B1-4E15-9931-C555434E6538") 
enum XlTickLabelPosition
    {	xlTickLabelPositionHigh	= -4127,
	xlTickLabelPositionLow	= -4134,
	xlTickLabelPositionNextToAxis	= 4,
	xlTickLabelPositionNone	= -4142
    } 	XlTickLabelPosition;

typedef /* [uuid] */  DECLSPEC_UUID("14710A1D-071F-4BFF-B1C2-4BEF5E8B2CEA") 
enum XlTimeUnit
    {	xlDays	= 0,
	xlMonths	= 1,
	xlYears	= 2
    } 	XlTimeUnit;

typedef /* [uuid] */  DECLSPEC_UUID("78F07E6C-4BC5-41B8-8FE1-F1643184BA3F") 
enum XlCategoryType
    {	xlCategoryScale	= 2,
	xlTimeScale	= 3,
	xlAutomaticScale	= -4105
    } 	XlCategoryType;

typedef /* [uuid] */  DECLSPEC_UUID("7FFFFFFF-8DCF-4CF1-9CD4-4FCEB78EBE14") 
enum XlDisplayUnit
    {	xlHundreds	= -2,
	xlThousands	= -3,
	xlTenThousands	= -4,
	xlHundredThousands	= -5,
	xlMillions	= -6,
	xlTenMillions	= -7,
	xlHundredMillions	= -8,
	xlThousandMillions	= -9,
	xlMillionMillions	= -10,
	xlDisplayUnitCustom	= -4114,
	xlDisplayUnitNone	= -4142
    } 	XlDisplayUnit;

typedef /* [uuid] */  DECLSPEC_UUID("7FFFFFFF-49E8-45BB-9BC2-8972405756CF") 
enum XlChartOrientation
    {	xlDownward	= -4170,
	xlHorizontal	= -4128,
	xlUpward	= -4171,
	xlVertical	= -4166
    } 	XlChartOrientation;

typedef /* [uuid] */  DECLSPEC_UUID("3A6700B4-6BC6-4848-AAA4-D360573F448C") 
enum XlTickLabelOrientation
    {	xlTickLabelOrientationAutomatic	= -4105,
	xlTickLabelOrientationDownward	= -4170,
	xlTickLabelOrientationHorizontal	= -4128,
	xlTickLabelOrientationUpward	= -4171,
	xlTickLabelOrientationVertical	= -4166
    } 	XlTickLabelOrientation;

typedef /* [uuid] */  DECLSPEC_UUID("3439EA79-5069-4404-A6E3-8EE3A1B9BD0E") 
enum XlDisplayBlanksAs
    {	xlInterpolated	= 3,
	xlNotPlotted	= 1,
	xlZero	= 2
    } 	XlDisplayBlanksAs;

typedef 
enum XlDataLabelPosition
    {	xlLabelPositionCenter	= -4108,
	xlLabelPositionAbove	= 0,
	xlLabelPositionBelow	= 1,
	xlLabelPositionLeft	= -4131,
	xlLabelPositionRight	= -4152,
	xlLabelPositionOutsideEnd	= 2,
	xlLabelPositionInsideEnd	= 3,
	xlLabelPositionInsideBase	= 4,
	xlLabelPositionBestFit	= 5,
	xlLabelPositionMixed	= 6,
	xlLabelPositionCustom	= 7
    } 	XlDataLabelPosition;

typedef 
enum XlPivotFieldOrientation
    {	xlColumnField	= 2,
	xlDataField	= 4,
	xlHidden	= 0,
	xlPageField	= 3,
	xlRowField	= 1
    } 	XlPivotFieldOrientation;

typedef 
enum XlHAlign
    {	xlHAlignCenter	= -4108,
	xlHAlignCenterAcrossSelection	= 7,
	xlHAlignDistributed	= -4117,
	xlHAlignFill	= 5,
	xlHAlignGeneral	= 1,
	xlHAlignJustify	= -4130,
	xlHAlignLeft	= -4131,
	xlHAlignRight	= -4152
    } 	XlHAlign;

typedef 
enum XlVAlign
    {	xlVAlignBottom	= -4107,
	xlVAlignCenter	= -4108,
	xlVAlignDistributed	= -4117,
	xlVAlignJustify	= -4130,
	xlVAlignTop	= -4160
    } 	XlVAlign;

typedef /* [uuid] */  DECLSPEC_UUID("05B0478C-9CD6-4F60-B113-A55E6A6CB1DC") 
enum XlChartElementPosition
    {	xlChartElementPositionAutomatic	= -4105,
	xlChartElementPositionCustom	= -4114
    } 	XlChartElementPosition;

typedef 
enum MsoChartElementType
    {	msoElementChartTitleNone	= 0,
	msoElementChartTitleCenteredOverlay	= 1,
	msoElementChartTitleAboveChart	= 2,
	msoElementLegendNone	= 100,
	msoElementLegendRight	= 101,
	msoElementLegendTop	= 102,
	msoElementLegendLeft	= 103,
	msoElementLegendBottom	= 104,
	msoElementLegendRightOverlay	= 105,
	msoElementLegendLeftOverlay	= 106,
	msoElementDataLabelNone	= 200,
	msoElementDataLabelShow	= 201,
	msoElementDataLabelCenter	= 202,
	msoElementDataLabelInsideEnd	= 203,
	msoElementDataLabelInsideBase	= 204,
	msoElementDataLabelOutSideEnd	= 205,
	msoElementDataLabelLeft	= 206,
	msoElementDataLabelRight	= 207,
	msoElementDataLabelTop	= 208,
	msoElementDataLabelBottom	= 209,
	msoElementDataLabelBestFit	= 210,
	msoElementDataLabelCallout	= 211,
	msoElementPrimaryCategoryAxisTitleNone	= 300,
	msoElementPrimaryCategoryAxisTitleAdjacentToAxis	= 301,
	msoElementPrimaryCategoryAxisTitleBelowAxis	= 302,
	msoElementPrimaryCategoryAxisTitleRotated	= 303,
	msoElementPrimaryCategoryAxisTitleVertical	= 304,
	msoElementPrimaryCategoryAxisTitleHorizontal	= 305,
	msoElementPrimaryValueAxisTitleNone	= 306,
	msoElementPrimaryValueAxisTitleAdjacentToAxis	= 306,
	msoElementPrimaryValueAxisTitleBelowAxis	= 308,
	msoElementPrimaryValueAxisTitleRotated	= 309,
	msoElementPrimaryValueAxisTitleVertical	= 310,
	msoElementPrimaryValueAxisTitleHorizontal	= 311,
	msoElementSecondaryCategoryAxisTitleNone	= 312,
	msoElementSecondaryCategoryAxisTitleAdjacentToAxis	= 313,
	msoElementSecondaryCategoryAxisTitleBelowAxis	= 314,
	msoElementSecondaryCategoryAxisTitleRotated	= 315,
	msoElementSecondaryCategoryAxisTitleVertical	= 316,
	msoElementSecondaryCategoryAxisTitleHorizontal	= 317,
	msoElementSecondaryValueAxisTitleNone	= 318,
	msoElementSecondaryValueAxisTitleAdjacentToAxis	= 319,
	msoElementSecondaryValueAxisTitleBelowAxis	= 320,
	msoElementSecondaryValueAxisTitleRotated	= 321,
	msoElementSecondaryValueAxisTitleVertical	= 322,
	msoElementSecondaryValueAxisTitleHorizontal	= 323,
	msoElementSeriesAxisTitleNone	= 324,
	msoElementSeriesAxisTitleRotated	= 325,
	msoElementSeriesAxisTitleVertical	= 326,
	msoElementSeriesAxisTitleHorizontal	= 327,
	msoElementPrimaryValueGridLinesNone	= 328,
	msoElementPrimaryValueGridLinesMinor	= 329,
	msoElementPrimaryValueGridLinesMajor	= 330,
	msoElementPrimaryValueGridLinesMinorMajor	= 331,
	msoElementPrimaryCategoryGridLinesNone	= 332,
	msoElementPrimaryCategoryGridLinesMinor	= 333,
	msoElementPrimaryCategoryGridLinesMajor	= 334,
	msoElementPrimaryCategoryGridLinesMinorMajor	= 335,
	msoElementSecondaryValueGridLinesNone	= 336,
	msoElementSecondaryValueGridLinesMinor	= 337,
	msoElementSecondaryValueGridLinesMajor	= 338,
	msoElementSecondaryValueGridLinesMinorMajor	= 339,
	msoElementSecondaryCategoryGridLinesNone	= 340,
	msoElementSecondaryCategoryGridLinesMinor	= 341,
	msoElementSecondaryCategoryGridLinesMajor	= 342,
	msoElementSecondaryCategoryGridLinesMinorMajor	= 343,
	msoElementSeriesAxisGridLinesNone	= 344,
	msoElementSeriesAxisGridLinesMinor	= 345,
	msoElementSeriesAxisGridLinesMajor	= 346,
	msoElementSeriesAxisGridLinesMinorMajor	= 347,
	msoElementPrimaryCategoryAxisNone	= 348,
	msoElementPrimaryCategoryAxisShow	= 349,
	msoElementPrimaryCategoryAxisWithoutLabels	= 350,
	msoElementPrimaryCategoryAxisReverse	= 351,
	msoElementPrimaryValueAxisNone	= 352,
	msoElementPrimaryValueAxisShow	= 353,
	msoElementPrimaryValueAxisThousands	= 354,
	msoElementPrimaryValueAxisMillions	= 355,
	msoElementPrimaryValueAxisBillions	= 356,
	msoElementPrimaryValueAxisLogScale	= 357,
	msoElementSecondaryCategoryAxisNone	= 358,
	msoElementSecondaryCategoryAxisShow	= 359,
	msoElementSecondaryCategoryAxisWithoutLabels	= 360,
	msoElementSecondaryCategoryAxisReverse	= 361,
	msoElementSecondaryValueAxisNone	= 362,
	msoElementSecondaryValueAxisShow	= 363,
	msoElementSecondaryValueAxisThousands	= 364,
	msoElementSecondaryValueAxisMillions	= 365,
	msoElementSecondaryValueAxisBillions	= 366,
	msoElementSecondaryValueAxisLogScale	= 367,
	msoElementSeriesAxisNone	= 368,
	msoElementSeriesAxisShow	= 369,
	msoElementSeriesAxisWithoutLabeling	= 370,
	msoElementSeriesAxisReverse	= 371,
	msoElementPrimaryCategoryAxisThousands	= 372,
	msoElementPrimaryCategoryAxisMillions	= 373,
	msoElementPrimaryCategoryAxisBillions	= 374,
	msoElementPrimaryCategoryAxisLogScale	= 375,
	msoElementSecondaryCategoryAxisThousands	= 376,
	msoElementSecondaryCategoryAxisMillions	= 377,
	msoElementSecondaryCategoryAxisBillions	= 378,
	msoElementSecondaryCategoryAxisLogScale	= 379,
	msoElementDataTableNone	= 500,
	msoElementDataTableShow	= 501,
	msoElementDataTableWithLegendKeys	= 502,
	msoElementTrendlineNone	= 600,
	msoElementTrendlineAddLinear	= 601,
	msoElementTrendlineAddExponential	= 602,
	msoElementTrendlineAddLinearForecast	= 603,
	msoElementTrendlineAddTwoPeriodMovingAverage	= 604,
	msoElementErrorBarNone	= 700,
	msoElementErrorBarStandardError	= 701,
	msoElementErrorBarPercentage	= 702,
	msoElementErrorBarStandardDeviation	= 703,
	msoElementLineNone	= 800,
	msoElementLineDropLine	= 801,
	msoElementLineHiLoLine	= 802,
	msoElementLineSeriesLine	= 803,
	msoElementLineDropHiLoLine	= 804,
	msoElementUpDownBarsNone	= 900,
	msoElementUpDownBarsShow	= 901,
	msoElementPlotAreaNone	= 1000,
	msoElementPlotAreaShow	= 1001,
	msoElementChartWallNone	= 1100,
	msoElementChartWallShow	= 1101,
	msoElementChartFloorNone	= 1200,
	msoElementChartFloorShow	= 1201
    } 	MsoChartElementType;

typedef 
enum MsoBulletType
    {	msoBulletMixed	= -2,
	msoBulletNone	= 0,
	msoBulletUnnumbered	= 1,
	msoBulletNumbered	= 2,
	msoBulletPicture	= 3
    } 	MsoBulletType;

typedef 
enum MsoNumberedBulletStyle
    {	msoBulletStyleMixed	= -2,
	msoBulletAlphaLCPeriod	= 0,
	msoBulletAlphaUCPeriod	= 1,
	msoBulletArabicParenRight	= 2,
	msoBulletArabicPeriod	= 3,
	msoBulletRomanLCParenBoth	= 4,
	msoBulletRomanLCParenRight	= 5,
	msoBulletRomanLCPeriod	= 6,
	msoBulletRomanUCPeriod	= 7,
	msoBulletAlphaLCParenBoth	= 8,
	msoBulletAlphaLCParenRight	= 9,
	msoBulletAlphaUCParenBoth	= 10,
	msoBulletAlphaUCParenRight	= 11,
	msoBulletArabicParenBoth	= 12,
	msoBulletArabicPlain	= 13,
	msoBulletRomanUCParenBoth	= 14,
	msoBulletRomanUCParenRight	= 15,
	msoBulletSimpChinPlain	= 16,
	msoBulletSimpChinPeriod	= 17,
	msoBulletCircleNumDBPlain	= 18,
	msoBulletCircleNumWDWhitePlain	= 19,
	msoBulletCircleNumWDBlackPlain	= 20,
	msoBulletTradChinPlain	= 21,
	msoBulletTradChinPeriod	= 22,
	msoBulletArabicAlphaDash	= 23,
	msoBulletArabicAbjadDash	= 24,
	msoBulletHebrewAlphaDash	= 25,
	msoBulletKanjiKoreanPlain	= 26,
	msoBulletKanjiKoreanPeriod	= 27,
	msoBulletArabicDBPlain	= 28,
	msoBulletArabicDBPeriod	= 29,
	msoBulletThaiAlphaPeriod	= 30,
	msoBulletThaiAlphaParenRight	= 31,
	msoBulletThaiAlphaParenBoth	= 32,
	msoBulletThaiNumPeriod	= 33,
	msoBulletThaiNumParenRight	= 34,
	msoBulletThaiNumParenBoth	= 35,
	msoBulletHindiAlphaPeriod	= 36,
	msoBulletHindiNumPeriod	= 37,
	msoBulletKanjiSimpChinDBPeriod	= 38,
	msoBulletHindiNumParenRight	= 39,
	msoBulletHindiAlpha1Period	= 40
    } 	MsoNumberedBulletStyle;

typedef 
enum MsoTabStopType
    {	msoTabStopMixed	= -2,
	msoTabStopLeft	= 1,
	msoTabStopCenter	= 2,
	msoTabStopRight	= 3,
	msoTabStopDecimal	= 4
    } 	MsoTabStopType;

typedef 
enum MsoBaselineAlignment
    {	msoBaselineAlignMixed	= -2,
	msoBaselineAlignBaseline	= 1,
	msoBaselineAlignTop	= 2,
	msoBaselineAlignCenter	= 3,
	msoBaselineAlignFarEast50	= 4,
	msoBaselineAlignAuto	= 5
    } 	MsoBaselineAlignment;

typedef 
enum EncryptionProviderDetail
    {	encprovdetUrl	= 0,
	encprovdetAlgorithm	= 1,
	encprovdetBlockCipher	= 2,
	encprovdetCipherBlockSize	= 3,
	encprovdetCipherMode	= 4
    } 	EncryptionProviderDetail;

typedef 
enum EncryptionCipherMode
    {	cipherModeECB	= 0,
	cipherModeCBC	= 1
    } 	EncryptionCipherMode;

typedef 
enum MsoClipboardFormat
    {	msoClipboardFormatMixed	= -2,
	msoClipboardFormatNative	= 1,
	msoClipboardFormatHTML	= 2,
	msoClipboardFormatRTF	= 3,
	msoClipboardFormatPlainText	= 4
    } 	MsoClipboardFormat;

typedef 
enum MsoBlogCategorySupport
    {	msoBlogNoCategories	= 0,
	msoBlogOneCategory	= 1,
	msoBlogMultipleCategories	= 2
    } 	MsoBlogCategorySupport;

typedef 
enum MsoBlogImageType
    {	msoblogImageTypeJPEG	= 1,
	msoblogImageTypeGIF	= 2,
	msoblogImageTypePNG	= 3
    } 	MsoBlogImageType;

typedef /* [uuid] */  DECLSPEC_UUID("7FFFFFFF-56A3-4F6D-9274-74E6CDF4D10C") 
enum XlPieSliceLocation
    {	xlHorizontalCoordinate	= 1,
	xlVerticalCoordinate	= 2
    } 	XlPieSliceLocation;

typedef /* [uuid] */  DECLSPEC_UUID("2B4C8AB7-6E70-422A-B7CC-206452289F16") 
enum XlPieSliceIndex
    {	xlOuterCounterClockwisePoint	= 1,
	xlOuterCenterPoint	= 2,
	xlOuterClockwisePoint	= 3,
	xlMidClockwiseRadiusPoint	= 4,
	xlCenterPoint	= 5,
	xlMidCounterClockwiseRadiusPoint	= 6,
	xlInnerClockwisePoint	= 7,
	xlInnerCenterPoint	= 8,
	xlInnerCounterClockwisePoint	= 9
    } 	XlPieSliceIndex;

typedef 
enum MsoSmartArtNodePosition
    {	msoSmartArtNodeDefault	= 1,
	msoSmartArtNodeAfter	= 2,
	msoSmartArtNodeBefore	= 3,
	msoSmartArtNodeAbove	= 4,
	msoSmartArtNodeBelow	= 5
    } 	MsoSmartArtNodePosition;

typedef 
enum MsoSmartArtNodeType
    {	msoSmartArtNodeTypeDefault	= 1,
	msoSmartArtNodeTypeAssistant	= 2
    } 	MsoSmartArtNodeType;

typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("7FFFFFFF-AE88-400C-AF72-6F7F75A3EC0B") 
enum MsoPickerField
    {	msoPickerFieldUnknown	= 0,
	msoPickerFieldDateTime	= 1,
	msoPickerFieldNumber	= 2,
	msoPickerFieldText	= 3,
	msoPickerFieldUser	= 4,
	msoPickerFieldMax	= 5
    } 	MsoPickerField;

typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("7FFFFFFF-F2DF-4A52-9B85-E06A7FF28DB7") 
enum MsoContactCardAddressType
    {	msoContactCardAddressTypeUnknown	= 0,
	msoContactCardAddressTypeOutlook	= 1,
	msoContactCardAddressTypeSMTP	= 2,
	msoContactCardAddressTypeIM	= 3
    } 	MsoContactCardAddressType;

typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("310803CD-C69D-4371-98C9-40CE4E9BFD5A") 
enum MsoContactCardType
    {	msoContactCardTypeEnterpriseContact	= 0,
	msoContactCardTypePersonalContact	= 1,
	msoContactCardTypeUnknownContact	= 2,
	msoContactCardTypeEnterpriseGroup	= 3,
	msoContactCardTypePersonalDistributionList	= 4
    } 	MsoContactCardType;

typedef 
enum MsoPictureEffectType
    {	msoEffectNone	= 0,
	msoEffectBackgroundRemoval	= 1,
	msoEffectBlur	= 2,
	msoEffectBrightnessContrast	= 3,
	msoEffectCement	= 4,
	msoEffectCrisscrossEtching	= 5,
	msoEffectChalkSketch	= 6,
	msoEffectColorTemperature	= 7,
	msoEffectCutout	= 8,
	msoEffectFilmGrain	= 9,
	msoEffectGlass	= 10,
	msoEffectGlowDiffused	= 11,
	msoEffectGlowEdges	= 12,
	msoEffectLightScreen	= 13,
	msoEffectLineDrawing	= 14,
	msoEffectMarker	= 15,
	msoEffectMosiaicBubbles	= 16,
	msoEffectPaintBrush	= 17,
	msoEffectPaintStrokes	= 18,
	msoEffectPastelsSmooth	= 19,
	msoEffectPencilGrayscale	= 20,
	msoEffectPencilSketch	= 21,
	msoEffectPhotocopy	= 22,
	msoEffectPlasticWrap	= 23,
	msoEffectSaturation	= 24,
	msoEffectSharpenSoften	= 25,
	msoEffectTexturizer	= 26,
	msoEffectWatercolorSponge	= 27
    } 	MsoPictureEffectType;

typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("750D0562-9930-40DD-9DA7-887B50F2111F") 
enum MsoIodGroup
    {	msoIodGroupPIAs	= 0,
	msoIodGroupVSTOR35Mgd	= 1,
	msoIodGroupVSTOR40Mgd	= 2
    } 	MsoIodGroup;

typedef 
enum BackstageGroupStyle
    {	BackstageGroupStyleNormal	= 0,
	BackstageGroupStyleWarning	= 1,
	BackstageGroupStyleError	= 2
    } 	BackstageGroupStyle;

typedef 
enum MsoFileValidationMode
    {	msoFileValidationDefault	= 0,
	msoFileValidationSkip	= 1
    } 	MsoFileValidationMode;

typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("0739EEEF-D856-414C-9494-F2F791FD1F22") 
enum MsoContactCardStyle
    {	msoContactCardHover	= 0,
	msoContactCardFull	= 1
    } 	MsoContactCardStyle;

typedef 
enum MsoMergeCmd
    {	msoMergeUnion	= 1,
	msoMergeCombine	= 2,
	msoMergeIntersect	= 3,
	msoMergeSubtract	= 4,
	msoMergeFragment	= 5
    } 	MsoMergeCmd;

typedef 
enum MsoLineCapStyle
    {	msoLineCapMixed	= -2,
	msoLineCapSquare	= 1,
	msoLineCapRound	= 2,
	msoLineCapFlat	= 3
    } 	MsoLineCapStyle;

typedef 
enum MsoLineJoinStyle
    {	msoLineJoinMixed	= -2,
	msoLineJoinRound	= 1,
	msoLineJoinBevel	= 2,
	msoLineJoinMiter	= 3
    } 	MsoLineJoinStyle;

typedef 
enum MsoLineFillType
    {	msoLineFillMixed	= -2,
	msoLineFillNone	= 0,
	msoLineFillSolid	= 1,
	msoLineFillPatterned	= 2,
	msoLineFillGradient	= 3,
	msoLineFillTextured	= 4,
	msoLineFillBackground	= 5,
	msoLineFillPicture	= 6
    } 	MsoLineFillType;

typedef 
enum MsoChartFieldType
    {	msoChartFieldBubbleSize	= 1,
	msoChartFieldCategoryName	= 2,
	msoChartFieldPercentage	= 3,
	msoChartFieldSeriesName	= 4,
	msoChartFieldValue	= 5,
	msoChartFieldFormula	= 6,
	msoChartFieldRange	= 7
    } 	MsoChartFieldType;

typedef 
enum MsoBroadcastState
    {	NoBroadcast	= 0,
	BroadcastStarted	= 1,
	BroadcastPaused	= 2
    } 	MsoBroadcastState;

typedef 
enum MsoBroadcastCapabilities
    {	BroadcastCapFileSizeLimited	= 1,
	BroadcastCapSupportsMeetingNotes	= 2,
	BroadcastCapSupportsUpdateDoc	= 4
    } 	MsoBroadcastCapabilities;

typedef 
enum MsoPictureCompress
    {	msoPictureCompressDocDefault	= -1,
	msoPictureCompressFalse	= 0,
	msoPictureCompressTrue	= 1
    } 	MsoPictureCompress;

typedef /* [uuid] */  DECLSPEC_UUID("7FFFFFFF-6A67-4B7A-AEAA-8823E7932C87") 
enum XlCategoryLabelLevel
    {	xlCategoryLabelLevelNone	= -3,
	xlCategoryLabelLevelCustom	= -2,
	xlCategoryLabelLevelAll	= -1
    } 	XlCategoryLabelLevel;

typedef /* [uuid] */  DECLSPEC_UUID("76D9466C-84C2-4355-81FE-CB1B9CB03C19") 
enum XlSeriesNameLevel
    {	xlSeriesNameLevelNone	= -3,
	xlSeriesNameLevelCustom	= -2,
	xlSeriesNameLevelAll	= -1
    } 	XlSeriesNameLevel;































































































































































































































































typedef /* [public] */ long MsoRGBType;


extern "C++" const IID LIBID_Office;

#ifndef __IAccessible_INTERFACE_DEFINED__
#define __IAccessible_INTERFACE_DEFINED__

/* interface IAccessible */
/* [object][oleautomation][dual][hidden][uuid] */ 


extern "C++" const IID IID_IAccessible;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("618736E0-3C3D-11CF-810C-00AA00389B71")
    IAccessible : public IDispatch
    {
    public:
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accParent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accChildCount( 
            /* [retval][out] */ long *pcountChildren) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accChild( 
            /* [in] */ VARIANT varChild,
            /* [retval][out] */ IDispatch **ppdispChild) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accName( 
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszName) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accValue( 
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszValue) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accDescription( 
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDescription) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accRole( 
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarRole) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accState( 
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarState) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accHelp( 
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszHelp) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accHelpTopic( 
            /* [out] */ BSTR *pszHelpFile,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ long *pidTopic) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accKeyboardShortcut( 
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszKeyboardShortcut) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accFocus( 
            /* [retval][out] */ VARIANT *pvarChild) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accSelection( 
            /* [retval][out] */ VARIANT *pvarChildren) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_accDefaultAction( 
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDefaultAction) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE accSelect( 
            /* [in] */ long flagsSelect,
            /* [optional][in] */ VARIANT varChild) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE accLocation( 
            /* [out] */ long *pxLeft,
            /* [out] */ long *pyTop,
            /* [out] */ long *pcxWidth,
            /* [out] */ long *pcyHeight,
            /* [optional][in] */ VARIANT varChild) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE accNavigate( 
            /* [in] */ long navDir,
            /* [optional][in] */ VARIANT varStart,
            /* [retval][out] */ VARIANT *pvarEndUpAt) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE accHitTest( 
            /* [in] */ long xLeft,
            /* [in] */ long yTop,
            /* [retval][out] */ VARIANT *pvarChild) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE accDoDefaultAction( 
            /* [optional][in] */ VARIANT varChild) = 0;
        
        virtual /* [hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_accName( 
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszName) = 0;
        
        virtual /* [hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_accValue( 
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAccessibleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAccessible * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAccessible * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAccessible * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAccessible * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAccessible * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAccessible * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAccessible * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 
            IAccessible * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 
            IAccessible * This,
            /* [retval][out] */ long *pcountChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 
            IAccessible * This,
            /* [in] */ VARIANT varChild,
            /* [retval][out] */ IDispatch **ppdispChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszName);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszValue);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDescription);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarRole);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarState);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszHelp);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 
            IAccessible * This,
            /* [out] */ BSTR *pszHelpFile,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ long *pidTopic);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszKeyboardShortcut);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 
            IAccessible * This,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 
            IAccessible * This,
            /* [retval][out] */ VARIANT *pvarChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDefaultAction);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 
            IAccessible * This,
            /* [in] */ long flagsSelect,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 
            IAccessible * This,
            /* [out] */ long *pxLeft,
            /* [out] */ long *pyTop,
            /* [out] */ long *pcxWidth,
            /* [out] */ long *pcyHeight,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 
            IAccessible * This,
            /* [in] */ long navDir,
            /* [optional][in] */ VARIANT varStart,
            /* [retval][out] */ VARIANT *pvarEndUpAt);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 
            IAccessible * This,
            /* [in] */ long xLeft,
            /* [in] */ long yTop,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszName);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 
            IAccessible * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszValue);
        
        END_INTERFACE
    } IAccessibleVtbl;

    interface IAccessible
    {
        CONST_VTBL struct IAccessibleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IAccessible_get_accParent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

#define IAccessible_get_accChildCount(This,pcountChildren)	\
    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

#define IAccessible_get_accChild(This,varChild,ppdispChild)	\
    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

#define IAccessible_get_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

#define IAccessible_get_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

#define IAccessible_get_accDescription(This,varChild,pszDescription)	\
    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

#define IAccessible_get_accRole(This,varChild,pvarRole)	\
    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

#define IAccessible_get_accState(This,varChild,pvarState)	\
    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

#define IAccessible_get_accHelp(This,varChild,pszHelp)	\
    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

#define IAccessible_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\
    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

#define IAccessible_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\
    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

#define IAccessible_get_accFocus(This,pvarChild)	\
    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

#define IAccessible_get_accSelection(This,pvarChildren)	\
    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

#define IAccessible_get_accDefaultAction(This,varChild,pszDefaultAction)	\
    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

#define IAccessible_accSelect(This,flagsSelect,varChild)	\
    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

#define IAccessible_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\
    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

#define IAccessible_accNavigate(This,navDir,varStart,pvarEndUpAt)	\
    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

#define IAccessible_accHitTest(This,xLeft,yTop,pvarChild)	\
    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

#define IAccessible_accDoDefaultAction(This,varChild)	\
    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

#define IAccessible_put_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> put_accName(This,varChild,pszName) ) 

#define IAccessible_put_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> put_accValue(This,varChild,pszValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAccessible_INTERFACE_DEFINED__ */


#ifndef ___IMsoDispObj_INTERFACE_DEFINED__
#define ___IMsoDispObj_INTERFACE_DEFINED__

/* interface _IMsoDispObj */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID__IMsoDispObj;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0300-0000-0000-C000-000000000046")
    _IMsoDispObj : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *plCreator) = 0;
        
    };
    
#else 	/* C style interface */

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

    interface _IMsoDispObj
    {
        CONST_VTBL struct _IMsoDispObjVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define _IMsoDispObj_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define _IMsoDispObj_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ___IMsoDispObj_INTERFACE_DEFINED__ */


#ifndef ___IMsoOleAccDispObj_INTERFACE_DEFINED__
#define ___IMsoOleAccDispObj_INTERFACE_DEFINED__

/* interface _IMsoOleAccDispObj */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID__IMsoOleAccDispObj;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0301-0000-0000-C000-000000000046")
    _IMsoOleAccDispObj : public IAccessible
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *plCreator) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct _IMsoOleAccDispObjVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _IMsoOleAccDispObj * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _IMsoOleAccDispObj * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _IMsoOleAccDispObj * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _IMsoOleAccDispObj * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _IMsoOleAccDispObj * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _IMsoOleAccDispObj * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _IMsoOleAccDispObj * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 
            _IMsoOleAccDispObj * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 
            _IMsoOleAccDispObj * This,
            /* [retval][out] */ long *pcountChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 
            _IMsoOleAccDispObj * This,
            /* [in] */ VARIANT varChild,
            /* [retval][out] */ IDispatch **ppdispChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszName);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszValue);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDescription);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarRole);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarState);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszHelp);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 
            _IMsoOleAccDispObj * This,
            /* [out] */ BSTR *pszHelpFile,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ long *pidTopic);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszKeyboardShortcut);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 
            _IMsoOleAccDispObj * This,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 
            _IMsoOleAccDispObj * This,
            /* [retval][out] */ VARIANT *pvarChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDefaultAction);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 
            _IMsoOleAccDispObj * This,
            /* [in] */ long flagsSelect,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 
            _IMsoOleAccDispObj * This,
            /* [out] */ long *pxLeft,
            /* [out] */ long *pyTop,
            /* [out] */ long *pcxWidth,
            /* [out] */ long *pcyHeight,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 
            _IMsoOleAccDispObj * This,
            /* [in] */ long navDir,
            /* [optional][in] */ VARIANT varStart,
            /* [retval][out] */ VARIANT *pvarEndUpAt);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 
            _IMsoOleAccDispObj * This,
            /* [in] */ long xLeft,
            /* [in] */ long yTop,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszName);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 
            _IMsoOleAccDispObj * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            _IMsoOleAccDispObj * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            _IMsoOleAccDispObj * This,
            /* [retval][out] */ long *plCreator);
        
        END_INTERFACE
    } _IMsoOleAccDispObjVtbl;

    interface _IMsoOleAccDispObj
    {
        CONST_VTBL struct _IMsoOleAccDispObjVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define _IMsoOleAccDispObj_get_accParent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

#define _IMsoOleAccDispObj_get_accChildCount(This,pcountChildren)	\
    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

#define _IMsoOleAccDispObj_get_accChild(This,varChild,ppdispChild)	\
    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

#define _IMsoOleAccDispObj_get_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

#define _IMsoOleAccDispObj_get_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

#define _IMsoOleAccDispObj_get_accDescription(This,varChild,pszDescription)	\
    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

#define _IMsoOleAccDispObj_get_accRole(This,varChild,pvarRole)	\
    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

#define _IMsoOleAccDispObj_get_accState(This,varChild,pvarState)	\
    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

#define _IMsoOleAccDispObj_get_accHelp(This,varChild,pszHelp)	\
    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

#define _IMsoOleAccDispObj_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\
    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

#define _IMsoOleAccDispObj_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\
    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

#define _IMsoOleAccDispObj_get_accFocus(This,pvarChild)	\
    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

#define _IMsoOleAccDispObj_get_accSelection(This,pvarChildren)	\
    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

#define _IMsoOleAccDispObj_get_accDefaultAction(This,varChild,pszDefaultAction)	\
    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

#define _IMsoOleAccDispObj_accSelect(This,flagsSelect,varChild)	\
    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

#define _IMsoOleAccDispObj_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\
    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

#define _IMsoOleAccDispObj_accNavigate(This,navDir,varStart,pvarEndUpAt)	\
    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

#define _IMsoOleAccDispObj_accHitTest(This,xLeft,yTop,pvarChild)	\
    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

#define _IMsoOleAccDispObj_accDoDefaultAction(This,varChild)	\
    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

#define _IMsoOleAccDispObj_put_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> put_accName(This,varChild,pszName) ) 

#define _IMsoOleAccDispObj_put_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> put_accValue(This,varChild,pszValue) ) 


#define _IMsoOleAccDispObj_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define _IMsoOleAccDispObj_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ___IMsoOleAccDispObj_INTERFACE_DEFINED__ */


#ifndef ___CommandBars_INTERFACE_DEFINED__
#define ___CommandBars_INTERFACE_DEFINED__

/* interface _CommandBars */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID__CommandBars;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0302-0000-0000-C000-000000000046")
    _CommandBars : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActionControl( 
            /* [retval][out] */ CommandBarControl **ppcbc) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveMenuBar( 
            /* [retval][out] */ CommandBar **ppcb) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [optional][in] */ VARIANT Name,
            /* [optional][in] */ VARIANT Position,
            /* [optional][in] */ VARIANT MenuBar,
            /* [optional][in] */ VARIANT Temporary,
            /* [retval][out] */ CommandBar **ppcb) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pcToolbars) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayTooltips( 
            /* [retval][out] */ VARIANT_BOOL *pvarfDisplayTooltips) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayTooltips( 
            /* [in] */ VARIANT_BOOL pvarfDisplayTooltips) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayKeysInTooltips( 
            /* [retval][out] */ VARIANT_BOOL *pvarfDisplayKeys) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayKeysInTooltips( 
            /* [in] */ VARIANT_BOOL pvarfDisplayKeys) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE FindControl( 
            /* [optional][in] */ VARIANT Type,
            /* [optional][in] */ VARIANT Id,
            /* [optional][in] */ VARIANT Tag,
            /* [optional][in] */ VARIANT Visible,
            /* [retval][out] */ CommandBarControl **ppcbc) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ CommandBar **ppcb) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LargeButtons( 
            /* [retval][out] */ VARIANT_BOOL *pvarfLargeButtons) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_LargeButtons( 
            /* [in] */ VARIANT_BOOL pvarfLargeButtons) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MenuAnimationStyle( 
            /* [retval][out] */ MsoMenuAnimation *pma) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MenuAnimationStyle( 
            /* [in] */ MsoMenuAnimation pma) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ReleaseFocus( void) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_IdsString( 
            /* [in] */ int ids,
            /* [out] */ BSTR *pbstrName,
            /* [retval][out] */ int *pcch) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_TmcGetName( 
            /* [in] */ int tmc,
            /* [out] */ BSTR *pbstrName,
            /* [retval][out] */ int *pcch) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AdaptiveMenus( 
            /* [retval][out] */ VARIANT_BOOL *pvarfAdaptiveMenus) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AdaptiveMenus( 
            /* [in] */ VARIANT_BOOL pvarfAdaptiveMenus) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE FindControls( 
            /* [optional][in] */ VARIANT Type,
            /* [optional][in] */ VARIANT Id,
            /* [optional][in] */ VARIANT Tag,
            /* [optional][in] */ VARIANT Visible,
            /* [retval][out] */ CommandBarControls **ppcbcs) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE AddEx( 
            /* [optional][in] */ VARIANT TbidOrName,
            /* [optional][in] */ VARIANT Position,
            /* [optional][in] */ VARIANT MenuBar,
            /* [optional][in] */ VARIANT Temporary,
            /* [optional][in] */ VARIANT TbtrProtection,
            /* [retval][out] */ CommandBar **ppcb) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayFonts( 
            /* [retval][out] */ VARIANT_BOOL *pvarfDisplayFonts) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayFonts( 
            /* [in] */ VARIANT_BOOL pvarfDisplayFonts) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisableCustomize( 
            /* [retval][out] */ VARIANT_BOOL *pvarfDisableCustomize) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DisableCustomize( 
            /* [in] */ VARIANT_BOOL pvarfDisableCustomize) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisableAskAQuestionDropdown( 
            /* [retval][out] */ VARIANT_BOOL *pvarfDisableAskAQuestionDropdown) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DisableAskAQuestionDropdown( 
            /* [in] */ VARIANT_BOOL pvarfDisableAskAQuestionDropdown) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ExecuteMso( 
            /* [in] */ BSTR idMso) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetEnabledMso( 
            /* [in] */ BSTR idMso,
            /* [retval][out] */ VARIANT_BOOL *Enabled) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetVisibleMso( 
            /* [in] */ BSTR idMso,
            /* [retval][out] */ VARIANT_BOOL *Visible) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetPressedMso( 
            /* [in] */ BSTR idMso,
            /* [retval][out] */ VARIANT_BOOL *Pressed) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetLabelMso( 
            /* [in] */ BSTR idMso,
            /* [retval][out] */ BSTR *Label) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetScreentipMso( 
            /* [in] */ BSTR idMso,
            /* [retval][out] */ BSTR *Screentip) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetSupertipMso( 
            /* [in] */ BSTR idMso,
            /* [retval][out] */ BSTR *Supertip) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetImageMso( 
            /* [in] */ BSTR idMso,
            /* [in] */ int Width,
            /* [in] */ int Height,
            /* [retval][out] */ /* external definition not present */ IPictureDisp **Image) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CommitRenderingTransaction( 
            /* [in] */ long hwnd) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct _CommandBarsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CommandBars * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CommandBars * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CommandBars * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CommandBars * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CommandBars * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CommandBars * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CommandBars * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            _CommandBars * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            _CommandBars * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActionControl )( 
            _CommandBars * This,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveMenuBar )( 
            _CommandBars * This,
            /* [retval][out] */ CommandBar **ppcb);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            _CommandBars * This,
            /* [optional][in] */ VARIANT Name,
            /* [optional][in] */ VARIANT Position,
            /* [optional][in] */ VARIANT MenuBar,
            /* [optional][in] */ VARIANT Temporary,
            /* [retval][out] */ CommandBar **ppcb);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            _CommandBars * This,
            /* [retval][out] */ int *pcToolbars);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayTooltips )( 
            _CommandBars * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfDisplayTooltips);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayTooltips )( 
            _CommandBars * This,
            /* [in] */ VARIANT_BOOL pvarfDisplayTooltips);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayKeysInTooltips )( 
            _CommandBars * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfDisplayKeys);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayKeysInTooltips )( 
            _CommandBars * This,
            /* [in] */ VARIANT_BOOL pvarfDisplayKeys);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *FindControl )( 
            _CommandBars * This,
            /* [optional][in] */ VARIANT Type,
            /* [optional][in] */ VARIANT Id,
            /* [optional][in] */ VARIANT Tag,
            /* [optional][in] */ VARIANT Visible,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            _CommandBars * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ CommandBar **ppcb);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LargeButtons )( 
            _CommandBars * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfLargeButtons);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LargeButtons )( 
            _CommandBars * This,
            /* [in] */ VARIANT_BOOL pvarfLargeButtons);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MenuAnimationStyle )( 
            _CommandBars * This,
            /* [retval][out] */ MsoMenuAnimation *pma);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MenuAnimationStyle )( 
            _CommandBars * This,
            /* [in] */ MsoMenuAnimation pma);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            _CommandBars * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            _CommandBars * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ReleaseFocus )( 
            _CommandBars * This);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IdsString )( 
            _CommandBars * This,
            /* [in] */ int ids,
            /* [out] */ BSTR *pbstrName,
            /* [retval][out] */ int *pcch);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TmcGetName )( 
            _CommandBars * This,
            /* [in] */ int tmc,
            /* [out] */ BSTR *pbstrName,
            /* [retval][out] */ int *pcch);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdaptiveMenus )( 
            _CommandBars * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfAdaptiveMenus);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AdaptiveMenus )( 
            _CommandBars * This,
            /* [in] */ VARIANT_BOOL pvarfAdaptiveMenus);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *FindControls )( 
            _CommandBars * This,
            /* [optional][in] */ VARIANT Type,
            /* [optional][in] */ VARIANT Id,
            /* [optional][in] */ VARIANT Tag,
            /* [optional][in] */ VARIANT Visible,
            /* [retval][out] */ CommandBarControls **ppcbcs);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *AddEx )( 
            _CommandBars * This,
            /* [optional][in] */ VARIANT TbidOrName,
            /* [optional][in] */ VARIANT Position,
            /* [optional][in] */ VARIANT MenuBar,
            /* [optional][in] */ VARIANT Temporary,
            /* [optional][in] */ VARIANT TbtrProtection,
            /* [retval][out] */ CommandBar **ppcb);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayFonts )( 
            _CommandBars * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfDisplayFonts);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayFonts )( 
            _CommandBars * This,
            /* [in] */ VARIANT_BOOL pvarfDisplayFonts);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableCustomize )( 
            _CommandBars * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfDisableCustomize);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableCustomize )( 
            _CommandBars * This,
            /* [in] */ VARIANT_BOOL pvarfDisableCustomize);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisableAskAQuestionDropdown )( 
            _CommandBars * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfDisableAskAQuestionDropdown);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisableAskAQuestionDropdown )( 
            _CommandBars * This,
            /* [in] */ VARIANT_BOOL pvarfDisableAskAQuestionDropdown);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ExecuteMso )( 
            _CommandBars * This,
            /* [in] */ BSTR idMso);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetEnabledMso )( 
            _CommandBars * This,
            /* [in] */ BSTR idMso,
            /* [retval][out] */ VARIANT_BOOL *Enabled);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetVisibleMso )( 
            _CommandBars * This,
            /* [in] */ BSTR idMso,
            /* [retval][out] */ VARIANT_BOOL *Visible);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPressedMso )( 
            _CommandBars * This,
            /* [in] */ BSTR idMso,
            /* [retval][out] */ VARIANT_BOOL *Pressed);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetLabelMso )( 
            _CommandBars * This,
            /* [in] */ BSTR idMso,
            /* [retval][out] */ BSTR *Label);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetScreentipMso )( 
            _CommandBars * This,
            /* [in] */ BSTR idMso,
            /* [retval][out] */ BSTR *Screentip);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetSupertipMso )( 
            _CommandBars * This,
            /* [in] */ BSTR idMso,
            /* [retval][out] */ BSTR *Supertip);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetImageMso )( 
            _CommandBars * This,
            /* [in] */ BSTR idMso,
            /* [in] */ int Width,
            /* [in] */ int Height,
            /* [retval][out] */ /* external definition not present */ IPictureDisp **Image);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CommitRenderingTransaction )( 
            _CommandBars * This,
            /* [in] */ long hwnd);
        
        END_INTERFACE
    } _CommandBarsVtbl;

    interface _CommandBars
    {
        CONST_VTBL struct _CommandBarsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define _CommandBars_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define _CommandBars_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define _CommandBars_get_ActionControl(This,ppcbc)	\
    ( (This)->lpVtbl -> get_ActionControl(This,ppcbc) ) 

#define _CommandBars_get_ActiveMenuBar(This,ppcb)	\
    ( (This)->lpVtbl -> get_ActiveMenuBar(This,ppcb) ) 

#define _CommandBars_Add(This,Name,Position,MenuBar,Temporary,ppcb)	\
    ( (This)->lpVtbl -> Add(This,Name,Position,MenuBar,Temporary,ppcb) ) 

#define _CommandBars_get_Count(This,pcToolbars)	\
    ( (This)->lpVtbl -> get_Count(This,pcToolbars) ) 

#define _CommandBars_get_DisplayTooltips(This,pvarfDisplayTooltips)	\
    ( (This)->lpVtbl -> get_DisplayTooltips(This,pvarfDisplayTooltips) ) 

#define _CommandBars_put_DisplayTooltips(This,pvarfDisplayTooltips)	\
    ( (This)->lpVtbl -> put_DisplayTooltips(This,pvarfDisplayTooltips) ) 

#define _CommandBars_get_DisplayKeysInTooltips(This,pvarfDisplayKeys)	\
    ( (This)->lpVtbl -> get_DisplayKeysInTooltips(This,pvarfDisplayKeys) ) 

#define _CommandBars_put_DisplayKeysInTooltips(This,pvarfDisplayKeys)	\
    ( (This)->lpVtbl -> put_DisplayKeysInTooltips(This,pvarfDisplayKeys) ) 

#define _CommandBars_FindControl(This,Type,Id,Tag,Visible,ppcbc)	\
    ( (This)->lpVtbl -> FindControl(This,Type,Id,Tag,Visible,ppcbc) ) 

#define _CommandBars_get_Item(This,Index,ppcb)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppcb) ) 

#define _CommandBars_get_LargeButtons(This,pvarfLargeButtons)	\
    ( (This)->lpVtbl -> get_LargeButtons(This,pvarfLargeButtons) ) 

#define _CommandBars_put_LargeButtons(This,pvarfLargeButtons)	\
    ( (This)->lpVtbl -> put_LargeButtons(This,pvarfLargeButtons) ) 

#define _CommandBars_get_MenuAnimationStyle(This,pma)	\
    ( (This)->lpVtbl -> get_MenuAnimationStyle(This,pma) ) 

#define _CommandBars_put_MenuAnimationStyle(This,pma)	\
    ( (This)->lpVtbl -> put_MenuAnimationStyle(This,pma) ) 

#define _CommandBars_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define _CommandBars_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define _CommandBars_ReleaseFocus(This)	\
    ( (This)->lpVtbl -> ReleaseFocus(This) ) 

#define _CommandBars_get_IdsString(This,ids,pbstrName,pcch)	\
    ( (This)->lpVtbl -> get_IdsString(This,ids,pbstrName,pcch) ) 

#define _CommandBars_get_TmcGetName(This,tmc,pbstrName,pcch)	\
    ( (This)->lpVtbl -> get_TmcGetName(This,tmc,pbstrName,pcch) ) 

#define _CommandBars_get_AdaptiveMenus(This,pvarfAdaptiveMenus)	\
    ( (This)->lpVtbl -> get_AdaptiveMenus(This,pvarfAdaptiveMenus) ) 

#define _CommandBars_put_AdaptiveMenus(This,pvarfAdaptiveMenus)	\
    ( (This)->lpVtbl -> put_AdaptiveMenus(This,pvarfAdaptiveMenus) ) 

#define _CommandBars_FindControls(This,Type,Id,Tag,Visible,ppcbcs)	\
    ( (This)->lpVtbl -> FindControls(This,Type,Id,Tag,Visible,ppcbcs) ) 

#define _CommandBars_AddEx(This,TbidOrName,Position,MenuBar,Temporary,TbtrProtection,ppcb)	\
    ( (This)->lpVtbl -> AddEx(This,TbidOrName,Position,MenuBar,Temporary,TbtrProtection,ppcb) ) 

#define _CommandBars_get_DisplayFonts(This,pvarfDisplayFonts)	\
    ( (This)->lpVtbl -> get_DisplayFonts(This,pvarfDisplayFonts) ) 

#define _CommandBars_put_DisplayFonts(This,pvarfDisplayFonts)	\
    ( (This)->lpVtbl -> put_DisplayFonts(This,pvarfDisplayFonts) ) 

#define _CommandBars_get_DisableCustomize(This,pvarfDisableCustomize)	\
    ( (This)->lpVtbl -> get_DisableCustomize(This,pvarfDisableCustomize) ) 

#define _CommandBars_put_DisableCustomize(This,pvarfDisableCustomize)	\
    ( (This)->lpVtbl -> put_DisableCustomize(This,pvarfDisableCustomize) ) 

#define _CommandBars_get_DisableAskAQuestionDropdown(This,pvarfDisableAskAQuestionDropdown)	\
    ( (This)->lpVtbl -> get_DisableAskAQuestionDropdown(This,pvarfDisableAskAQuestionDropdown) ) 

#define _CommandBars_put_DisableAskAQuestionDropdown(This,pvarfDisableAskAQuestionDropdown)	\
    ( (This)->lpVtbl -> put_DisableAskAQuestionDropdown(This,pvarfDisableAskAQuestionDropdown) ) 

#define _CommandBars_ExecuteMso(This,idMso)	\
    ( (This)->lpVtbl -> ExecuteMso(This,idMso) ) 

#define _CommandBars_GetEnabledMso(This,idMso,Enabled)	\
    ( (This)->lpVtbl -> GetEnabledMso(This,idMso,Enabled) ) 

#define _CommandBars_GetVisibleMso(This,idMso,Visible)	\
    ( (This)->lpVtbl -> GetVisibleMso(This,idMso,Visible) ) 

#define _CommandBars_GetPressedMso(This,idMso,Pressed)	\
    ( (This)->lpVtbl -> GetPressedMso(This,idMso,Pressed) ) 

#define _CommandBars_GetLabelMso(This,idMso,Label)	\
    ( (This)->lpVtbl -> GetLabelMso(This,idMso,Label) ) 

#define _CommandBars_GetScreentipMso(This,idMso,Screentip)	\
    ( (This)->lpVtbl -> GetScreentipMso(This,idMso,Screentip) ) 

#define _CommandBars_GetSupertipMso(This,idMso,Supertip)	\
    ( (This)->lpVtbl -> GetSupertipMso(This,idMso,Supertip) ) 

#define _CommandBars_GetImageMso(This,idMso,Width,Height,Image)	\
    ( (This)->lpVtbl -> GetImageMso(This,idMso,Width,Height,Image) ) 

#define _CommandBars_CommitRenderingTransaction(This,hwnd)	\
    ( (This)->lpVtbl -> CommitRenderingTransaction(This,hwnd) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ___CommandBars_INTERFACE_DEFINED__ */


#ifndef __CommandBar_INTERFACE_DEFINED__
#define __CommandBar_INTERFACE_DEFINED__

/* interface CommandBar */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CommandBar;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0304-0000-0000-C000-000000000046")
    CommandBar : public _IMsoOleAccDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BuiltIn( 
            /* [retval][out] */ VARIANT_BOOL *pvarfBuiltIn) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Context( 
            /* [retval][out] */ BSTR *pbstrContext) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Context( 
            /* [in] */ BSTR pbstrContext) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Controls( 
            /* [retval][out] */ CommandBarControls **ppcbcs) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ VARIANT_BOOL *pvarfEnabled) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ VARIANT_BOOL pvarfEnabled) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE FindControl( 
            /* [optional][in] */ VARIANT Type,
            /* [optional][in] */ VARIANT Id,
            /* [optional][in] */ VARIANT Tag,
            /* [optional][in] */ VARIANT Visible,
            /* [optional][in] */ VARIANT Recursive,
            /* [retval][out] */ CommandBarControl **ppcbc) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ int *pdy) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ int pdy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ int *pi) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_InstanceId( 
            /* [retval][out] */ long *pid) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ int *pxpLeft) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ int pxpLeft) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NameLocal( 
            /* [retval][out] */ BSTR *pbstrNameLocal) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_NameLocal( 
            /* [in] */ BSTR pbstrNameLocal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ MsoBarPosition *ppos) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ MsoBarPosition ppos) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_RowIndex( 
            /* [retval][out] */ int *piRow) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_RowIndex( 
            /* [in] */ int piRow) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Protection( 
            /* [retval][out] */ MsoBarProtection *pprot) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Protection( 
            /* [in] */ MsoBarProtection pprot) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ShowPopup( 
            /* [optional][in] */ VARIANT x,
            /* [optional][in] */ VARIANT y) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ int *pypTop) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ int pypTop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoBarType *ptype) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *pvarfVisible) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL pvarfVisible) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ int *pdx) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ int pdx) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AdaptiveMenu( 
            /* [retval][out] */ VARIANT_BOOL *pvarfAdaptiveMenu) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AdaptiveMenu( 
            /* [in] */ VARIANT_BOOL pvarfAdaptiveMenu) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ int *pid) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_InstanceIdPtr( 
            /* [retval][out] */ VARIANT *pvarPitb) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CommandBarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CommandBar * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CommandBar * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CommandBar * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CommandBar * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CommandBar * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CommandBar * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CommandBar * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 
            CommandBar * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 
            CommandBar * This,
            /* [retval][out] */ long *pcountChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 
            CommandBar * This,
            /* [in] */ VARIANT varChild,
            /* [retval][out] */ IDispatch **ppdispChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszName);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszValue);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDescription);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarRole);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarState);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszHelp);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 
            CommandBar * This,
            /* [out] */ BSTR *pszHelpFile,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ long *pidTopic);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszKeyboardShortcut);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 
            CommandBar * This,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 
            CommandBar * This,
            /* [retval][out] */ VARIANT *pvarChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDefaultAction);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 
            CommandBar * This,
            /* [in] */ long flagsSelect,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 
            CommandBar * This,
            /* [out] */ long *pxLeft,
            /* [out] */ long *pyTop,
            /* [out] */ long *pcxWidth,
            /* [out] */ long *pcyHeight,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 
            CommandBar * This,
            /* [in] */ long navDir,
            /* [optional][in] */ VARIANT varStart,
            /* [retval][out] */ VARIANT *pvarEndUpAt);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 
            CommandBar * This,
            /* [in] */ long xLeft,
            /* [in] */ long yTop,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszName);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CommandBar * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CommandBar * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BuiltIn )( 
            CommandBar * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBuiltIn);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Context )( 
            CommandBar * This,
            /* [retval][out] */ BSTR *pbstrContext);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Context )( 
            CommandBar * This,
            /* [in] */ BSTR pbstrContext);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Controls )( 
            CommandBar * This,
            /* [retval][out] */ CommandBarControls **ppcbcs);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            CommandBar * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            CommandBar * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfEnabled);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            CommandBar * This,
            /* [in] */ VARIANT_BOOL pvarfEnabled);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *FindControl )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT Type,
            /* [optional][in] */ VARIANT Id,
            /* [optional][in] */ VARIANT Tag,
            /* [optional][in] */ VARIANT Visible,
            /* [optional][in] */ VARIANT Recursive,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            CommandBar * This,
            /* [retval][out] */ int *pdy);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            CommandBar * This,
            /* [in] */ int pdy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            CommandBar * This,
            /* [retval][out] */ int *pi);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceId )( 
            CommandBar * This,
            /* [retval][out] */ long *pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            CommandBar * This,
            /* [retval][out] */ int *pxpLeft);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            CommandBar * This,
            /* [in] */ int pxpLeft);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            CommandBar * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            CommandBar * This,
            /* [in] */ BSTR pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NameLocal )( 
            CommandBar * This,
            /* [retval][out] */ BSTR *pbstrNameLocal);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NameLocal )( 
            CommandBar * This,
            /* [in] */ BSTR pbstrNameLocal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CommandBar * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            CommandBar * This,
            /* [retval][out] */ MsoBarPosition *ppos);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            CommandBar * This,
            /* [in] */ MsoBarPosition ppos);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RowIndex )( 
            CommandBar * This,
            /* [retval][out] */ int *piRow);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RowIndex )( 
            CommandBar * This,
            /* [in] */ int piRow);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Protection )( 
            CommandBar * This,
            /* [retval][out] */ MsoBarProtection *pprot);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Protection )( 
            CommandBar * This,
            /* [in] */ MsoBarProtection pprot);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            CommandBar * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ShowPopup )( 
            CommandBar * This,
            /* [optional][in] */ VARIANT x,
            /* [optional][in] */ VARIANT y);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            CommandBar * This,
            /* [retval][out] */ int *pypTop);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            CommandBar * This,
            /* [in] */ int pypTop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            CommandBar * This,
            /* [retval][out] */ MsoBarType *ptype);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            CommandBar * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfVisible);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            CommandBar * This,
            /* [in] */ VARIANT_BOOL pvarfVisible);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            CommandBar * This,
            /* [retval][out] */ int *pdx);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            CommandBar * This,
            /* [in] */ int pdx);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdaptiveMenu )( 
            CommandBar * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfAdaptiveMenu);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AdaptiveMenu )( 
            CommandBar * This,
            /* [in] */ VARIANT_BOOL pvarfAdaptiveMenu);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            CommandBar * This,
            /* [retval][out] */ int *pid);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceIdPtr )( 
            CommandBar * This,
            /* [retval][out] */ VARIANT *pvarPitb);
        
        END_INTERFACE
    } CommandBarVtbl;

    interface CommandBar
    {
        CONST_VTBL struct CommandBarVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define CommandBar_get_accParent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

#define CommandBar_get_accChildCount(This,pcountChildren)	\
    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

#define CommandBar_get_accChild(This,varChild,ppdispChild)	\
    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

#define CommandBar_get_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

#define CommandBar_get_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

#define CommandBar_get_accDescription(This,varChild,pszDescription)	\
    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

#define CommandBar_get_accRole(This,varChild,pvarRole)	\
    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

#define CommandBar_get_accState(This,varChild,pvarState)	\
    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

#define CommandBar_get_accHelp(This,varChild,pszHelp)	\
    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

#define CommandBar_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\
    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

#define CommandBar_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\
    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

#define CommandBar_get_accFocus(This,pvarChild)	\
    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

#define CommandBar_get_accSelection(This,pvarChildren)	\
    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

#define CommandBar_get_accDefaultAction(This,varChild,pszDefaultAction)	\
    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

#define CommandBar_accSelect(This,flagsSelect,varChild)	\
    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

#define CommandBar_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\
    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

#define CommandBar_accNavigate(This,navDir,varStart,pvarEndUpAt)	\
    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

#define CommandBar_accHitTest(This,xLeft,yTop,pvarChild)	\
    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

#define CommandBar_accDoDefaultAction(This,varChild)	\
    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

#define CommandBar_put_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> put_accName(This,varChild,pszName) ) 

#define CommandBar_put_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> put_accValue(This,varChild,pszValue) ) 


#define CommandBar_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CommandBar_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CommandBar_get_BuiltIn(This,pvarfBuiltIn)	\
    ( (This)->lpVtbl -> get_BuiltIn(This,pvarfBuiltIn) ) 

#define CommandBar_get_Context(This,pbstrContext)	\
    ( (This)->lpVtbl -> get_Context(This,pbstrContext) ) 

#define CommandBar_put_Context(This,pbstrContext)	\
    ( (This)->lpVtbl -> put_Context(This,pbstrContext) ) 

#define CommandBar_get_Controls(This,ppcbcs)	\
    ( (This)->lpVtbl -> get_Controls(This,ppcbcs) ) 

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

#define CommandBar_get_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,pvarfEnabled) ) 

#define CommandBar_put_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,pvarfEnabled) ) 

#define CommandBar_FindControl(This,Type,Id,Tag,Visible,Recursive,ppcbc)	\
    ( (This)->lpVtbl -> FindControl(This,Type,Id,Tag,Visible,Recursive,ppcbc) ) 

#define CommandBar_get_Height(This,pdy)	\
    ( (This)->lpVtbl -> get_Height(This,pdy) ) 

#define CommandBar_put_Height(This,pdy)	\
    ( (This)->lpVtbl -> put_Height(This,pdy) ) 

#define CommandBar_get_Index(This,pi)	\
    ( (This)->lpVtbl -> get_Index(This,pi) ) 

#define CommandBar_get_InstanceId(This,pid)	\
    ( (This)->lpVtbl -> get_InstanceId(This,pid) ) 

#define CommandBar_get_Left(This,pxpLeft)	\
    ( (This)->lpVtbl -> get_Left(This,pxpLeft) ) 

#define CommandBar_put_Left(This,pxpLeft)	\
    ( (This)->lpVtbl -> put_Left(This,pxpLeft) ) 

#define CommandBar_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define CommandBar_put_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> put_Name(This,pbstrName) ) 

#define CommandBar_get_NameLocal(This,pbstrNameLocal)	\
    ( (This)->lpVtbl -> get_NameLocal(This,pbstrNameLocal) ) 

#define CommandBar_put_NameLocal(This,pbstrNameLocal)	\
    ( (This)->lpVtbl -> put_NameLocal(This,pbstrNameLocal) ) 

#define CommandBar_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define CommandBar_get_Position(This,ppos)	\
    ( (This)->lpVtbl -> get_Position(This,ppos) ) 

#define CommandBar_put_Position(This,ppos)	\
    ( (This)->lpVtbl -> put_Position(This,ppos) ) 

#define CommandBar_get_RowIndex(This,piRow)	\
    ( (This)->lpVtbl -> get_RowIndex(This,piRow) ) 

#define CommandBar_put_RowIndex(This,piRow)	\
    ( (This)->lpVtbl -> put_RowIndex(This,piRow) ) 

#define CommandBar_get_Protection(This,pprot)	\
    ( (This)->lpVtbl -> get_Protection(This,pprot) ) 

#define CommandBar_put_Protection(This,pprot)	\
    ( (This)->lpVtbl -> put_Protection(This,pprot) ) 

#define CommandBar_Reset(This)	\
    ( (This)->lpVtbl -> Reset(This) ) 

#define CommandBar_ShowPopup(This,x,y)	\
    ( (This)->lpVtbl -> ShowPopup(This,x,y) ) 

#define CommandBar_get_Top(This,pypTop)	\
    ( (This)->lpVtbl -> get_Top(This,pypTop) ) 

#define CommandBar_put_Top(This,pypTop)	\
    ( (This)->lpVtbl -> put_Top(This,pypTop) ) 

#define CommandBar_get_Type(This,ptype)	\
    ( (This)->lpVtbl -> get_Type(This,ptype) ) 

#define CommandBar_get_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,pvarfVisible) ) 

#define CommandBar_put_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,pvarfVisible) ) 

#define CommandBar_get_Width(This,pdx)	\
    ( (This)->lpVtbl -> get_Width(This,pdx) ) 

#define CommandBar_put_Width(This,pdx)	\
    ( (This)->lpVtbl -> put_Width(This,pdx) ) 

#define CommandBar_get_AdaptiveMenu(This,pvarfAdaptiveMenu)	\
    ( (This)->lpVtbl -> get_AdaptiveMenu(This,pvarfAdaptiveMenu) ) 

#define CommandBar_put_AdaptiveMenu(This,pvarfAdaptiveMenu)	\
    ( (This)->lpVtbl -> put_AdaptiveMenu(This,pvarfAdaptiveMenu) ) 

#define CommandBar_get_Id(This,pid)	\
    ( (This)->lpVtbl -> get_Id(This,pid) ) 

#define CommandBar_get_InstanceIdPtr(This,pvarPitb)	\
    ( (This)->lpVtbl -> get_InstanceIdPtr(This,pvarPitb) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CommandBar_INTERFACE_DEFINED__ */


#ifndef __CommandBarControls_INTERFACE_DEFINED__
#define __CommandBarControls_INTERFACE_DEFINED__

/* interface CommandBarControls */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CommandBarControls;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0306-0000-0000-C000-000000000046")
    CommandBarControls : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [optional][in] */ VARIANT Type,
            /* [optional][in] */ VARIANT Id,
            /* [optional][in] */ VARIANT Parameter,
            /* [optional][in] */ VARIANT Before,
            /* [optional][in] */ VARIANT Temporary,
            /* [retval][out] */ CommandBarControl **ppcbc) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pcToolbarControls) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ CommandBarControl **ppcbc) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ CommandBar **ppcb) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CommandBarControlsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CommandBarControls * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CommandBarControls * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CommandBarControls * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CommandBarControls * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CommandBarControls * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CommandBarControls * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CommandBarControls * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CommandBarControls * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CommandBarControls * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            CommandBarControls * This,
            /* [optional][in] */ VARIANT Type,
            /* [optional][in] */ VARIANT Id,
            /* [optional][in] */ VARIANT Parameter,
            /* [optional][in] */ VARIANT Before,
            /* [optional][in] */ VARIANT Temporary,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            CommandBarControls * This,
            /* [retval][out] */ int *pcToolbarControls);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            CommandBarControls * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            CommandBarControls * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CommandBarControls * This,
            /* [retval][out] */ CommandBar **ppcb);
        
        END_INTERFACE
    } CommandBarControlsVtbl;

    interface CommandBarControls
    {
        CONST_VTBL struct CommandBarControlsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define CommandBarControls_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CommandBarControls_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CommandBarControls_Add(This,Type,Id,Parameter,Before,Temporary,ppcbc)	\
    ( (This)->lpVtbl -> Add(This,Type,Id,Parameter,Before,Temporary,ppcbc) ) 

#define CommandBarControls_get_Count(This,pcToolbarControls)	\
    ( (This)->lpVtbl -> get_Count(This,pcToolbarControls) ) 

#define CommandBarControls_get_Item(This,Index,ppcbc)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppcbc) ) 

#define CommandBarControls_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define CommandBarControls_get_Parent(This,ppcb)	\
    ( (This)->lpVtbl -> get_Parent(This,ppcb) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CommandBarControls_INTERFACE_DEFINED__ */


#ifndef __CommandBarControl_INTERFACE_DEFINED__
#define __CommandBarControl_INTERFACE_DEFINED__

/* interface CommandBarControl */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CommandBarControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0308-0000-0000-C000-000000000046")
    CommandBarControl : public _IMsoOleAccDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BeginGroup( 
            /* [retval][out] */ VARIANT_BOOL *pvarfBeginGroup) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_BeginGroup( 
            /* [in] */ VARIANT_BOOL pvarfBeginGroup) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BuiltIn( 
            /* [retval][out] */ VARIANT_BOOL *pvarfBuiltIn) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Caption( 
            /* [retval][out] */ BSTR *pbstrCaption) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Caption( 
            /* [in] */ BSTR pbstrCaption) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Control( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Copy( 
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [optional][in] */ VARIANT Temporary) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DescriptionText( 
            /* [retval][out] */ BSTR *pbstrText) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DescriptionText( 
            /* [in] */ BSTR pbstrText) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ VARIANT_BOOL *pvarfEnabled) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ VARIANT_BOOL pvarfEnabled) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Execute( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ int *pdy) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ int pdy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HelpContextId( 
            /* [retval][out] */ int *pid) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_HelpContextId( 
            /* [in] */ int pid) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HelpFile( 
            /* [retval][out] */ BSTR *pbstrFilename) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_HelpFile( 
            /* [in] */ BSTR pbstrFilename) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ int *pid) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ int *pi) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_InstanceId( 
            /* [retval][out] */ long *pid) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ int *px) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_OLEUsage( 
            /* [retval][out] */ MsoControlOLEUsage *pcou) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_OLEUsage( 
            /* [in] */ MsoControlOLEUsage pcou) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_OnAction( 
            /* [retval][out] */ BSTR *pbstrOnAction) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_OnAction( 
            /* [in] */ BSTR pbstrOnAction) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ CommandBar **ppcb) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parameter( 
            /* [retval][out] */ BSTR *pbstrParam) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Parameter( 
            /* [in] */ BSTR pbstrParam) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Priority( 
            /* [retval][out] */ int *pnPri) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Priority( 
            /* [in] */ int pnPri) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetFocus( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Tag( 
            /* [retval][out] */ BSTR *pbstrTag) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Tag( 
            /* [in] */ BSTR pbstrTag) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_TooltipText( 
            /* [retval][out] */ BSTR *pbstrTooltip) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_TooltipText( 
            /* [in] */ BSTR pbstrTooltip) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ int *py) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoControlType *ptype) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *pvarfVisible) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL pvarfVisible) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ int *pdx) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ int pdx) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsPriorityDropped( 
            /* [retval][out] */ VARIANT_BOOL *pvarfDropped) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE Reserved1( void) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE Reserved2( void) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE Reserved3( void) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE Reserved4( void) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE Reserved5( void) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE Reserved6( void) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE Reserved7( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CommandBarControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CommandBarControl * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CommandBarControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CommandBarControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CommandBarControl * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CommandBarControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CommandBarControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CommandBarControl * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 
            CommandBarControl * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 
            CommandBarControl * This,
            /* [retval][out] */ long *pcountChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 
            CommandBarControl * This,
            /* [in] */ VARIANT varChild,
            /* [retval][out] */ IDispatch **ppdispChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszName);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszValue);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDescription);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarRole);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarState);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszHelp);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 
            CommandBarControl * This,
            /* [out] */ BSTR *pszHelpFile,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ long *pidTopic);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszKeyboardShortcut);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 
            CommandBarControl * This,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 
            CommandBarControl * This,
            /* [retval][out] */ VARIANT *pvarChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDefaultAction);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 
            CommandBarControl * This,
            /* [in] */ long flagsSelect,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 
            CommandBarControl * This,
            /* [out] */ long *pxLeft,
            /* [out] */ long *pyTop,
            /* [out] */ long *pcxWidth,
            /* [out] */ long *pcyHeight,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 
            CommandBarControl * This,
            /* [in] */ long navDir,
            /* [optional][in] */ VARIANT varStart,
            /* [retval][out] */ VARIANT *pvarEndUpAt);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 
            CommandBarControl * This,
            /* [in] */ long xLeft,
            /* [in] */ long yTop,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszName);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CommandBarControl * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CommandBarControl * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginGroup )( 
            CommandBarControl * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBeginGroup);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BeginGroup )( 
            CommandBarControl * This,
            /* [in] */ VARIANT_BOOL pvarfBeginGroup);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BuiltIn )( 
            CommandBarControl * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBuiltIn);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            CommandBarControl * This,
            /* [retval][out] */ BSTR *pbstrCaption);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
            CommandBarControl * This,
            /* [in] */ BSTR pbstrCaption);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Control )( 
            CommandBarControl * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT Temporary);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DescriptionText )( 
            CommandBarControl * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DescriptionText )( 
            CommandBarControl * This,
            /* [in] */ BSTR pbstrText);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            CommandBarControl * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfEnabled);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            CommandBarControl * This,
            /* [in] */ VARIANT_BOOL pvarfEnabled);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            CommandBarControl * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            CommandBarControl * This,
            /* [retval][out] */ int *pdy);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            CommandBarControl * This,
            /* [in] */ int pdy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HelpContextId )( 
            CommandBarControl * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HelpContextId )( 
            CommandBarControl * This,
            /* [in] */ int pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HelpFile )( 
            CommandBarControl * This,
            /* [retval][out] */ BSTR *pbstrFilename);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HelpFile )( 
            CommandBarControl * This,
            /* [in] */ BSTR pbstrFilename);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            CommandBarControl * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            CommandBarControl * This,
            /* [retval][out] */ int *pi);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceId )( 
            CommandBarControl * This,
            /* [retval][out] */ long *pid);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            CommandBarControl * This,
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            CommandBarControl * This,
            /* [retval][out] */ int *px);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OLEUsage )( 
            CommandBarControl * This,
            /* [retval][out] */ MsoControlOLEUsage *pcou);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OLEUsage )( 
            CommandBarControl * This,
            /* [in] */ MsoControlOLEUsage pcou);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OnAction )( 
            CommandBarControl * This,
            /* [retval][out] */ BSTR *pbstrOnAction);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OnAction )( 
            CommandBarControl * This,
            /* [in] */ BSTR pbstrOnAction);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CommandBarControl * This,
            /* [retval][out] */ CommandBar **ppcb);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parameter )( 
            CommandBarControl * This,
            /* [retval][out] */ BSTR *pbstrParam);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Parameter )( 
            CommandBarControl * This,
            /* [in] */ BSTR pbstrParam);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )( 
            CommandBarControl * This,
            /* [retval][out] */ int *pnPri);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )( 
            CommandBarControl * This,
            /* [in] */ int pnPri);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            CommandBarControl * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
            CommandBarControl * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Tag )( 
            CommandBarControl * This,
            /* [retval][out] */ BSTR *pbstrTag);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Tag )( 
            CommandBarControl * This,
            /* [in] */ BSTR pbstrTag);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TooltipText )( 
            CommandBarControl * This,
            /* [retval][out] */ BSTR *pbstrTooltip);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TooltipText )( 
            CommandBarControl * This,
            /* [in] */ BSTR pbstrTooltip);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            CommandBarControl * This,
            /* [retval][out] */ int *py);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            CommandBarControl * This,
            /* [retval][out] */ MsoControlType *ptype);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            CommandBarControl * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfVisible);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            CommandBarControl * This,
            /* [in] */ VARIANT_BOOL pvarfVisible);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            CommandBarControl * This,
            /* [retval][out] */ int *pdx);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            CommandBarControl * This,
            /* [in] */ int pdx);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPriorityDropped )( 
            CommandBarControl * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfDropped);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved1 )( 
            CommandBarControl * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved2 )( 
            CommandBarControl * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved3 )( 
            CommandBarControl * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved4 )( 
            CommandBarControl * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved5 )( 
            CommandBarControl * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved6 )( 
            CommandBarControl * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved7 )( 
            CommandBarControl * This);
        
        END_INTERFACE
    } CommandBarControlVtbl;

    interface CommandBarControl
    {
        CONST_VTBL struct CommandBarControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define CommandBarControl_get_accParent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

#define CommandBarControl_get_accChildCount(This,pcountChildren)	\
    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

#define CommandBarControl_get_accChild(This,varChild,ppdispChild)	\
    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

#define CommandBarControl_get_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

#define CommandBarControl_get_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

#define CommandBarControl_get_accDescription(This,varChild,pszDescription)	\
    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

#define CommandBarControl_get_accRole(This,varChild,pvarRole)	\
    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

#define CommandBarControl_get_accState(This,varChild,pvarState)	\
    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

#define CommandBarControl_get_accHelp(This,varChild,pszHelp)	\
    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

#define CommandBarControl_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\
    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

#define CommandBarControl_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\
    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

#define CommandBarControl_get_accFocus(This,pvarChild)	\
    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

#define CommandBarControl_get_accSelection(This,pvarChildren)	\
    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

#define CommandBarControl_get_accDefaultAction(This,varChild,pszDefaultAction)	\
    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

#define CommandBarControl_accSelect(This,flagsSelect,varChild)	\
    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

#define CommandBarControl_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\
    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

#define CommandBarControl_accNavigate(This,navDir,varStart,pvarEndUpAt)	\
    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

#define CommandBarControl_accHitTest(This,xLeft,yTop,pvarChild)	\
    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

#define CommandBarControl_accDoDefaultAction(This,varChild)	\
    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

#define CommandBarControl_put_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> put_accName(This,varChild,pszName) ) 

#define CommandBarControl_put_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> put_accValue(This,varChild,pszValue) ) 


#define CommandBarControl_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CommandBarControl_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CommandBarControl_get_BeginGroup(This,pvarfBeginGroup)	\
    ( (This)->lpVtbl -> get_BeginGroup(This,pvarfBeginGroup) ) 

#define CommandBarControl_put_BeginGroup(This,pvarfBeginGroup)	\
    ( (This)->lpVtbl -> put_BeginGroup(This,pvarfBeginGroup) ) 

#define CommandBarControl_get_BuiltIn(This,pvarfBuiltIn)	\
    ( (This)->lpVtbl -> get_BuiltIn(This,pvarfBuiltIn) ) 

#define CommandBarControl_get_Caption(This,pbstrCaption)	\
    ( (This)->lpVtbl -> get_Caption(This,pbstrCaption) ) 

#define CommandBarControl_put_Caption(This,pbstrCaption)	\
    ( (This)->lpVtbl -> put_Caption(This,pbstrCaption) ) 

#define CommandBarControl_get_Control(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Control(This,ppidisp) ) 

#define CommandBarControl_Copy(This,Bar,Before,ppcbc)	\
    ( (This)->lpVtbl -> Copy(This,Bar,Before,ppcbc) ) 

#define CommandBarControl_Delete(This,Temporary)	\
    ( (This)->lpVtbl -> Delete(This,Temporary) ) 

#define CommandBarControl_get_DescriptionText(This,pbstrText)	\
    ( (This)->lpVtbl -> get_DescriptionText(This,pbstrText) ) 

#define CommandBarControl_put_DescriptionText(This,pbstrText)	\
    ( (This)->lpVtbl -> put_DescriptionText(This,pbstrText) ) 

#define CommandBarControl_get_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,pvarfEnabled) ) 

#define CommandBarControl_put_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,pvarfEnabled) ) 

#define CommandBarControl_Execute(This)	\
    ( (This)->lpVtbl -> Execute(This) ) 

#define CommandBarControl_get_Height(This,pdy)	\
    ( (This)->lpVtbl -> get_Height(This,pdy) ) 

#define CommandBarControl_put_Height(This,pdy)	\
    ( (This)->lpVtbl -> put_Height(This,pdy) ) 

#define CommandBarControl_get_HelpContextId(This,pid)	\
    ( (This)->lpVtbl -> get_HelpContextId(This,pid) ) 

#define CommandBarControl_put_HelpContextId(This,pid)	\
    ( (This)->lpVtbl -> put_HelpContextId(This,pid) ) 

#define CommandBarControl_get_HelpFile(This,pbstrFilename)	\
    ( (This)->lpVtbl -> get_HelpFile(This,pbstrFilename) ) 

#define CommandBarControl_put_HelpFile(This,pbstrFilename)	\
    ( (This)->lpVtbl -> put_HelpFile(This,pbstrFilename) ) 

#define CommandBarControl_get_Id(This,pid)	\
    ( (This)->lpVtbl -> get_Id(This,pid) ) 

#define CommandBarControl_get_Index(This,pi)	\
    ( (This)->lpVtbl -> get_Index(This,pi) ) 

#define CommandBarControl_get_InstanceId(This,pid)	\
    ( (This)->lpVtbl -> get_InstanceId(This,pid) ) 

#define CommandBarControl_Move(This,Bar,Before,ppcbc)	\
    ( (This)->lpVtbl -> Move(This,Bar,Before,ppcbc) ) 

#define CommandBarControl_get_Left(This,px)	\
    ( (This)->lpVtbl -> get_Left(This,px) ) 

#define CommandBarControl_get_OLEUsage(This,pcou)	\
    ( (This)->lpVtbl -> get_OLEUsage(This,pcou) ) 

#define CommandBarControl_put_OLEUsage(This,pcou)	\
    ( (This)->lpVtbl -> put_OLEUsage(This,pcou) ) 

#define CommandBarControl_get_OnAction(This,pbstrOnAction)	\
    ( (This)->lpVtbl -> get_OnAction(This,pbstrOnAction) ) 

#define CommandBarControl_put_OnAction(This,pbstrOnAction)	\
    ( (This)->lpVtbl -> put_OnAction(This,pbstrOnAction) ) 

#define CommandBarControl_get_Parent(This,ppcb)	\
    ( (This)->lpVtbl -> get_Parent(This,ppcb) ) 

#define CommandBarControl_get_Parameter(This,pbstrParam)	\
    ( (This)->lpVtbl -> get_Parameter(This,pbstrParam) ) 

#define CommandBarControl_put_Parameter(This,pbstrParam)	\
    ( (This)->lpVtbl -> put_Parameter(This,pbstrParam) ) 

#define CommandBarControl_get_Priority(This,pnPri)	\
    ( (This)->lpVtbl -> get_Priority(This,pnPri) ) 

#define CommandBarControl_put_Priority(This,pnPri)	\
    ( (This)->lpVtbl -> put_Priority(This,pnPri) ) 

#define CommandBarControl_Reset(This)	\
    ( (This)->lpVtbl -> Reset(This) ) 

#define CommandBarControl_SetFocus(This)	\
    ( (This)->lpVtbl -> SetFocus(This) ) 

#define CommandBarControl_get_Tag(This,pbstrTag)	\
    ( (This)->lpVtbl -> get_Tag(This,pbstrTag) ) 

#define CommandBarControl_put_Tag(This,pbstrTag)	\
    ( (This)->lpVtbl -> put_Tag(This,pbstrTag) ) 

#define CommandBarControl_get_TooltipText(This,pbstrTooltip)	\
    ( (This)->lpVtbl -> get_TooltipText(This,pbstrTooltip) ) 

#define CommandBarControl_put_TooltipText(This,pbstrTooltip)	\
    ( (This)->lpVtbl -> put_TooltipText(This,pbstrTooltip) ) 

#define CommandBarControl_get_Top(This,py)	\
    ( (This)->lpVtbl -> get_Top(This,py) ) 

#define CommandBarControl_get_Type(This,ptype)	\
    ( (This)->lpVtbl -> get_Type(This,ptype) ) 

#define CommandBarControl_get_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,pvarfVisible) ) 

#define CommandBarControl_put_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,pvarfVisible) ) 

#define CommandBarControl_get_Width(This,pdx)	\
    ( (This)->lpVtbl -> get_Width(This,pdx) ) 

#define CommandBarControl_put_Width(This,pdx)	\
    ( (This)->lpVtbl -> put_Width(This,pdx) ) 

#define CommandBarControl_get_IsPriorityDropped(This,pvarfDropped)	\
    ( (This)->lpVtbl -> get_IsPriorityDropped(This,pvarfDropped) ) 

#define CommandBarControl_Reserved1(This)	\
    ( (This)->lpVtbl -> Reserved1(This) ) 

#define CommandBarControl_Reserved2(This)	\
    ( (This)->lpVtbl -> Reserved2(This) ) 

#define CommandBarControl_Reserved3(This)	\
    ( (This)->lpVtbl -> Reserved3(This) ) 

#define CommandBarControl_Reserved4(This)	\
    ( (This)->lpVtbl -> Reserved4(This) ) 

#define CommandBarControl_Reserved5(This)	\
    ( (This)->lpVtbl -> Reserved5(This) ) 

#define CommandBarControl_Reserved6(This)	\
    ( (This)->lpVtbl -> Reserved6(This) ) 

#define CommandBarControl_Reserved7(This)	\
    ( (This)->lpVtbl -> Reserved7(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CommandBarControl_INTERFACE_DEFINED__ */


#ifndef ___CommandBarButton_INTERFACE_DEFINED__
#define ___CommandBarButton_INTERFACE_DEFINED__

/* interface _CommandBarButton */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID__CommandBarButton;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C030E-0000-0000-C000-000000000046")
    _CommandBarButton : public CommandBarControl
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BuiltInFace( 
            /* [retval][out] */ VARIANT_BOOL *pvarfBuiltIn) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_BuiltInFace( 
            /* [in] */ VARIANT_BOOL pvarfBuiltIn) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CopyFace( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FaceId( 
            /* [retval][out] */ int *pid) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_FaceId( 
            /* [in] */ int pid) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE PasteFace( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ShortcutText( 
            /* [retval][out] */ BSTR *pbstrText) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ShortcutText( 
            /* [in] */ BSTR pbstrText) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ MsoButtonState *pstate) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_State( 
            /* [in] */ MsoButtonState pstate) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Style( 
            /* [retval][out] */ MsoButtonStyle *pstyle) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Style( 
            /* [in] */ MsoButtonStyle pstyle) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HyperlinkType( 
            /* [retval][out] */ MsoCommandBarButtonHyperlinkType *phlType) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_HyperlinkType( 
            /* [in] */ MsoCommandBarButtonHyperlinkType phlType) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Picture( 
            /* [retval][out] */ /* external definition not present */ IPictureDisp **ppdispPicture) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Picture( 
            /* [in] */ /* external definition not present */ IPictureDisp *ppdispPicture) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Mask( 
            /* [retval][out] */ /* external definition not present */ IPictureDisp **ppipictdispMask) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Mask( 
            /* [in] */ /* external definition not present */ IPictureDisp *ppipictdispMask) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_InstanceIdPtr( 
            /* [retval][out] */ VARIANT *pvarPic) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct _CommandBarButtonVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CommandBarButton * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CommandBarButton * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CommandBarButton * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CommandBarButton * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CommandBarButton * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CommandBarButton * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CommandBarButton * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 
            _CommandBarButton * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 
            _CommandBarButton * This,
            /* [retval][out] */ long *pcountChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 
            _CommandBarButton * This,
            /* [in] */ VARIANT varChild,
            /* [retval][out] */ IDispatch **ppdispChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszName);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszValue);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDescription);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarRole);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarState);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszHelp);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 
            _CommandBarButton * This,
            /* [out] */ BSTR *pszHelpFile,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ long *pidTopic);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszKeyboardShortcut);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 
            _CommandBarButton * This,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 
            _CommandBarButton * This,
            /* [retval][out] */ VARIANT *pvarChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDefaultAction);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 
            _CommandBarButton * This,
            /* [in] */ long flagsSelect,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 
            _CommandBarButton * This,
            /* [out] */ long *pxLeft,
            /* [out] */ long *pyTop,
            /* [out] */ long *pcxWidth,
            /* [out] */ long *pcyHeight,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 
            _CommandBarButton * This,
            /* [in] */ long navDir,
            /* [optional][in] */ VARIANT varStart,
            /* [retval][out] */ VARIANT *pvarEndUpAt);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 
            _CommandBarButton * This,
            /* [in] */ long xLeft,
            /* [in] */ long yTop,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszName);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            _CommandBarButton * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            _CommandBarButton * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginGroup )( 
            _CommandBarButton * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBeginGroup);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BeginGroup )( 
            _CommandBarButton * This,
            /* [in] */ VARIANT_BOOL pvarfBeginGroup);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BuiltIn )( 
            _CommandBarButton * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBuiltIn);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            _CommandBarButton * This,
            /* [retval][out] */ BSTR *pbstrCaption);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
            _CommandBarButton * This,
            /* [in] */ BSTR pbstrCaption);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Control )( 
            _CommandBarButton * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT Temporary);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DescriptionText )( 
            _CommandBarButton * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DescriptionText )( 
            _CommandBarButton * This,
            /* [in] */ BSTR pbstrText);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            _CommandBarButton * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfEnabled);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            _CommandBarButton * This,
            /* [in] */ VARIANT_BOOL pvarfEnabled);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            _CommandBarButton * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            _CommandBarButton * This,
            /* [retval][out] */ int *pdy);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            _CommandBarButton * This,
            /* [in] */ int pdy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HelpContextId )( 
            _CommandBarButton * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HelpContextId )( 
            _CommandBarButton * This,
            /* [in] */ int pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HelpFile )( 
            _CommandBarButton * This,
            /* [retval][out] */ BSTR *pbstrFilename);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HelpFile )( 
            _CommandBarButton * This,
            /* [in] */ BSTR pbstrFilename);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            _CommandBarButton * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            _CommandBarButton * This,
            /* [retval][out] */ int *pi);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceId )( 
            _CommandBarButton * This,
            /* [retval][out] */ long *pid);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            _CommandBarButton * This,
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            _CommandBarButton * This,
            /* [retval][out] */ int *px);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OLEUsage )( 
            _CommandBarButton * This,
            /* [retval][out] */ MsoControlOLEUsage *pcou);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OLEUsage )( 
            _CommandBarButton * This,
            /* [in] */ MsoControlOLEUsage pcou);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OnAction )( 
            _CommandBarButton * This,
            /* [retval][out] */ BSTR *pbstrOnAction);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OnAction )( 
            _CommandBarButton * This,
            /* [in] */ BSTR pbstrOnAction);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            _CommandBarButton * This,
            /* [retval][out] */ CommandBar **ppcb);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parameter )( 
            _CommandBarButton * This,
            /* [retval][out] */ BSTR *pbstrParam);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Parameter )( 
            _CommandBarButton * This,
            /* [in] */ BSTR pbstrParam);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )( 
            _CommandBarButton * This,
            /* [retval][out] */ int *pnPri);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )( 
            _CommandBarButton * This,
            /* [in] */ int pnPri);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            _CommandBarButton * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
            _CommandBarButton * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Tag )( 
            _CommandBarButton * This,
            /* [retval][out] */ BSTR *pbstrTag);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Tag )( 
            _CommandBarButton * This,
            /* [in] */ BSTR pbstrTag);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TooltipText )( 
            _CommandBarButton * This,
            /* [retval][out] */ BSTR *pbstrTooltip);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TooltipText )( 
            _CommandBarButton * This,
            /* [in] */ BSTR pbstrTooltip);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            _CommandBarButton * This,
            /* [retval][out] */ int *py);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            _CommandBarButton * This,
            /* [retval][out] */ MsoControlType *ptype);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            _CommandBarButton * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfVisible);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            _CommandBarButton * This,
            /* [in] */ VARIANT_BOOL pvarfVisible);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            _CommandBarButton * This,
            /* [retval][out] */ int *pdx);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            _CommandBarButton * This,
            /* [in] */ int pdx);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPriorityDropped )( 
            _CommandBarButton * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfDropped);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved1 )( 
            _CommandBarButton * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved2 )( 
            _CommandBarButton * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved3 )( 
            _CommandBarButton * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved4 )( 
            _CommandBarButton * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved5 )( 
            _CommandBarButton * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved6 )( 
            _CommandBarButton * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved7 )( 
            _CommandBarButton * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BuiltInFace )( 
            _CommandBarButton * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBuiltIn);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BuiltInFace )( 
            _CommandBarButton * This,
            /* [in] */ VARIANT_BOOL pvarfBuiltIn);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFace )( 
            _CommandBarButton * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FaceId )( 
            _CommandBarButton * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FaceId )( 
            _CommandBarButton * This,
            /* [in] */ int pid);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *PasteFace )( 
            _CommandBarButton * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShortcutText )( 
            _CommandBarButton * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShortcutText )( 
            _CommandBarButton * This,
            /* [in] */ BSTR pbstrText);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            _CommandBarButton * This,
            /* [retval][out] */ MsoButtonState *pstate);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_State )( 
            _CommandBarButton * This,
            /* [in] */ MsoButtonState pstate);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Style )( 
            _CommandBarButton * This,
            /* [retval][out] */ MsoButtonStyle *pstyle);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Style )( 
            _CommandBarButton * This,
            /* [in] */ MsoButtonStyle pstyle);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HyperlinkType )( 
            _CommandBarButton * This,
            /* [retval][out] */ MsoCommandBarButtonHyperlinkType *phlType);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HyperlinkType )( 
            _CommandBarButton * This,
            /* [in] */ MsoCommandBarButtonHyperlinkType phlType);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Picture )( 
            _CommandBarButton * This,
            /* [retval][out] */ /* external definition not present */ IPictureDisp **ppdispPicture);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Picture )( 
            _CommandBarButton * This,
            /* [in] */ /* external definition not present */ IPictureDisp *ppdispPicture);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Mask )( 
            _CommandBarButton * This,
            /* [retval][out] */ /* external definition not present */ IPictureDisp **ppipictdispMask);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Mask )( 
            _CommandBarButton * This,
            /* [in] */ /* external definition not present */ IPictureDisp *ppipictdispMask);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceIdPtr )( 
            _CommandBarButton * This,
            /* [retval][out] */ VARIANT *pvarPic);
        
        END_INTERFACE
    } _CommandBarButtonVtbl;

    interface _CommandBarButton
    {
        CONST_VTBL struct _CommandBarButtonVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define _CommandBarButton_get_accParent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

#define _CommandBarButton_get_accChildCount(This,pcountChildren)	\
    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

#define _CommandBarButton_get_accChild(This,varChild,ppdispChild)	\
    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

#define _CommandBarButton_get_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

#define _CommandBarButton_get_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

#define _CommandBarButton_get_accDescription(This,varChild,pszDescription)	\
    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

#define _CommandBarButton_get_accRole(This,varChild,pvarRole)	\
    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

#define _CommandBarButton_get_accState(This,varChild,pvarState)	\
    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

#define _CommandBarButton_get_accHelp(This,varChild,pszHelp)	\
    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

#define _CommandBarButton_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\
    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

#define _CommandBarButton_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\
    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

#define _CommandBarButton_get_accFocus(This,pvarChild)	\
    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

#define _CommandBarButton_get_accSelection(This,pvarChildren)	\
    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

#define _CommandBarButton_get_accDefaultAction(This,varChild,pszDefaultAction)	\
    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

#define _CommandBarButton_accSelect(This,flagsSelect,varChild)	\
    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

#define _CommandBarButton_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\
    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

#define _CommandBarButton_accNavigate(This,navDir,varStart,pvarEndUpAt)	\
    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

#define _CommandBarButton_accHitTest(This,xLeft,yTop,pvarChild)	\
    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

#define _CommandBarButton_accDoDefaultAction(This,varChild)	\
    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

#define _CommandBarButton_put_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> put_accName(This,varChild,pszName) ) 

#define _CommandBarButton_put_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> put_accValue(This,varChild,pszValue) ) 


#define _CommandBarButton_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define _CommandBarButton_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define _CommandBarButton_get_BeginGroup(This,pvarfBeginGroup)	\
    ( (This)->lpVtbl -> get_BeginGroup(This,pvarfBeginGroup) ) 

#define _CommandBarButton_put_BeginGroup(This,pvarfBeginGroup)	\
    ( (This)->lpVtbl -> put_BeginGroup(This,pvarfBeginGroup) ) 

#define _CommandBarButton_get_BuiltIn(This,pvarfBuiltIn)	\
    ( (This)->lpVtbl -> get_BuiltIn(This,pvarfBuiltIn) ) 

#define _CommandBarButton_get_Caption(This,pbstrCaption)	\
    ( (This)->lpVtbl -> get_Caption(This,pbstrCaption) ) 

#define _CommandBarButton_put_Caption(This,pbstrCaption)	\
    ( (This)->lpVtbl -> put_Caption(This,pbstrCaption) ) 

#define _CommandBarButton_get_Control(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Control(This,ppidisp) ) 

#define _CommandBarButton_Copy(This,Bar,Before,ppcbc)	\
    ( (This)->lpVtbl -> Copy(This,Bar,Before,ppcbc) ) 

#define _CommandBarButton_Delete(This,Temporary)	\
    ( (This)->lpVtbl -> Delete(This,Temporary) ) 

#define _CommandBarButton_get_DescriptionText(This,pbstrText)	\
    ( (This)->lpVtbl -> get_DescriptionText(This,pbstrText) ) 

#define _CommandBarButton_put_DescriptionText(This,pbstrText)	\
    ( (This)->lpVtbl -> put_DescriptionText(This,pbstrText) ) 

#define _CommandBarButton_get_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,pvarfEnabled) ) 

#define _CommandBarButton_put_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,pvarfEnabled) ) 

#define _CommandBarButton_Execute(This)	\
    ( (This)->lpVtbl -> Execute(This) ) 

#define _CommandBarButton_get_Height(This,pdy)	\
    ( (This)->lpVtbl -> get_Height(This,pdy) ) 

#define _CommandBarButton_put_Height(This,pdy)	\
    ( (This)->lpVtbl -> put_Height(This,pdy) ) 

#define _CommandBarButton_get_HelpContextId(This,pid)	\
    ( (This)->lpVtbl -> get_HelpContextId(This,pid) ) 

#define _CommandBarButton_put_HelpContextId(This,pid)	\
    ( (This)->lpVtbl -> put_HelpContextId(This,pid) ) 

#define _CommandBarButton_get_HelpFile(This,pbstrFilename)	\
    ( (This)->lpVtbl -> get_HelpFile(This,pbstrFilename) ) 

#define _CommandBarButton_put_HelpFile(This,pbstrFilename)	\
    ( (This)->lpVtbl -> put_HelpFile(This,pbstrFilename) ) 

#define _CommandBarButton_get_Id(This,pid)	\
    ( (This)->lpVtbl -> get_Id(This,pid) ) 

#define _CommandBarButton_get_Index(This,pi)	\
    ( (This)->lpVtbl -> get_Index(This,pi) ) 

#define _CommandBarButton_get_InstanceId(This,pid)	\
    ( (This)->lpVtbl -> get_InstanceId(This,pid) ) 

#define _CommandBarButton_Move(This,Bar,Before,ppcbc)	\
    ( (This)->lpVtbl -> Move(This,Bar,Before,ppcbc) ) 

#define _CommandBarButton_get_Left(This,px)	\
    ( (This)->lpVtbl -> get_Left(This,px) ) 

#define _CommandBarButton_get_OLEUsage(This,pcou)	\
    ( (This)->lpVtbl -> get_OLEUsage(This,pcou) ) 

#define _CommandBarButton_put_OLEUsage(This,pcou)	\
    ( (This)->lpVtbl -> put_OLEUsage(This,pcou) ) 

#define _CommandBarButton_get_OnAction(This,pbstrOnAction)	\
    ( (This)->lpVtbl -> get_OnAction(This,pbstrOnAction) ) 

#define _CommandBarButton_put_OnAction(This,pbstrOnAction)	\
    ( (This)->lpVtbl -> put_OnAction(This,pbstrOnAction) ) 

#define _CommandBarButton_get_Parent(This,ppcb)	\
    ( (This)->lpVtbl -> get_Parent(This,ppcb) ) 

#define _CommandBarButton_get_Parameter(This,pbstrParam)	\
    ( (This)->lpVtbl -> get_Parameter(This,pbstrParam) ) 

#define _CommandBarButton_put_Parameter(This,pbstrParam)	\
    ( (This)->lpVtbl -> put_Parameter(This,pbstrParam) ) 

#define _CommandBarButton_get_Priority(This,pnPri)	\
    ( (This)->lpVtbl -> get_Priority(This,pnPri) ) 

#define _CommandBarButton_put_Priority(This,pnPri)	\
    ( (This)->lpVtbl -> put_Priority(This,pnPri) ) 

#define _CommandBarButton_Reset(This)	\
    ( (This)->lpVtbl -> Reset(This) ) 

#define _CommandBarButton_SetFocus(This)	\
    ( (This)->lpVtbl -> SetFocus(This) ) 

#define _CommandBarButton_get_Tag(This,pbstrTag)	\
    ( (This)->lpVtbl -> get_Tag(This,pbstrTag) ) 

#define _CommandBarButton_put_Tag(This,pbstrTag)	\
    ( (This)->lpVtbl -> put_Tag(This,pbstrTag) ) 

#define _CommandBarButton_get_TooltipText(This,pbstrTooltip)	\
    ( (This)->lpVtbl -> get_TooltipText(This,pbstrTooltip) ) 

#define _CommandBarButton_put_TooltipText(This,pbstrTooltip)	\
    ( (This)->lpVtbl -> put_TooltipText(This,pbstrTooltip) ) 

#define _CommandBarButton_get_Top(This,py)	\
    ( (This)->lpVtbl -> get_Top(This,py) ) 

#define _CommandBarButton_get_Type(This,ptype)	\
    ( (This)->lpVtbl -> get_Type(This,ptype) ) 

#define _CommandBarButton_get_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,pvarfVisible) ) 

#define _CommandBarButton_put_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,pvarfVisible) ) 

#define _CommandBarButton_get_Width(This,pdx)	\
    ( (This)->lpVtbl -> get_Width(This,pdx) ) 

#define _CommandBarButton_put_Width(This,pdx)	\
    ( (This)->lpVtbl -> put_Width(This,pdx) ) 

#define _CommandBarButton_get_IsPriorityDropped(This,pvarfDropped)	\
    ( (This)->lpVtbl -> get_IsPriorityDropped(This,pvarfDropped) ) 

#define _CommandBarButton_Reserved1(This)	\
    ( (This)->lpVtbl -> Reserved1(This) ) 

#define _CommandBarButton_Reserved2(This)	\
    ( (This)->lpVtbl -> Reserved2(This) ) 

#define _CommandBarButton_Reserved3(This)	\
    ( (This)->lpVtbl -> Reserved3(This) ) 

#define _CommandBarButton_Reserved4(This)	\
    ( (This)->lpVtbl -> Reserved4(This) ) 

#define _CommandBarButton_Reserved5(This)	\
    ( (This)->lpVtbl -> Reserved5(This) ) 

#define _CommandBarButton_Reserved6(This)	\
    ( (This)->lpVtbl -> Reserved6(This) ) 

#define _CommandBarButton_Reserved7(This)	\
    ( (This)->lpVtbl -> Reserved7(This) ) 


#define _CommandBarButton_get_BuiltInFace(This,pvarfBuiltIn)	\
    ( (This)->lpVtbl -> get_BuiltInFace(This,pvarfBuiltIn) ) 

#define _CommandBarButton_put_BuiltInFace(This,pvarfBuiltIn)	\
    ( (This)->lpVtbl -> put_BuiltInFace(This,pvarfBuiltIn) ) 

#define _CommandBarButton_CopyFace(This)	\
    ( (This)->lpVtbl -> CopyFace(This) ) 

#define _CommandBarButton_get_FaceId(This,pid)	\
    ( (This)->lpVtbl -> get_FaceId(This,pid) ) 

#define _CommandBarButton_put_FaceId(This,pid)	\
    ( (This)->lpVtbl -> put_FaceId(This,pid) ) 

#define _CommandBarButton_PasteFace(This)	\
    ( (This)->lpVtbl -> PasteFace(This) ) 

#define _CommandBarButton_get_ShortcutText(This,pbstrText)	\
    ( (This)->lpVtbl -> get_ShortcutText(This,pbstrText) ) 

#define _CommandBarButton_put_ShortcutText(This,pbstrText)	\
    ( (This)->lpVtbl -> put_ShortcutText(This,pbstrText) ) 

#define _CommandBarButton_get_State(This,pstate)	\
    ( (This)->lpVtbl -> get_State(This,pstate) ) 

#define _CommandBarButton_put_State(This,pstate)	\
    ( (This)->lpVtbl -> put_State(This,pstate) ) 

#define _CommandBarButton_get_Style(This,pstyle)	\
    ( (This)->lpVtbl -> get_Style(This,pstyle) ) 

#define _CommandBarButton_put_Style(This,pstyle)	\
    ( (This)->lpVtbl -> put_Style(This,pstyle) ) 

#define _CommandBarButton_get_HyperlinkType(This,phlType)	\
    ( (This)->lpVtbl -> get_HyperlinkType(This,phlType) ) 

#define _CommandBarButton_put_HyperlinkType(This,phlType)	\
    ( (This)->lpVtbl -> put_HyperlinkType(This,phlType) ) 

#define _CommandBarButton_get_Picture(This,ppdispPicture)	\
    ( (This)->lpVtbl -> get_Picture(This,ppdispPicture) ) 

#define _CommandBarButton_put_Picture(This,ppdispPicture)	\
    ( (This)->lpVtbl -> put_Picture(This,ppdispPicture) ) 

#define _CommandBarButton_get_Mask(This,ppipictdispMask)	\
    ( (This)->lpVtbl -> get_Mask(This,ppipictdispMask) ) 

#define _CommandBarButton_put_Mask(This,ppipictdispMask)	\
    ( (This)->lpVtbl -> put_Mask(This,ppipictdispMask) ) 

#define _CommandBarButton_get_InstanceIdPtr(This,pvarPic)	\
    ( (This)->lpVtbl -> get_InstanceIdPtr(This,pvarPic) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ___CommandBarButton_INTERFACE_DEFINED__ */


#ifndef __CommandBarPopup_INTERFACE_DEFINED__
#define __CommandBarPopup_INTERFACE_DEFINED__

/* interface CommandBarPopup */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CommandBarPopup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C030A-0000-0000-C000-000000000046")
    CommandBarPopup : public CommandBarControl
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CommandBar( 
            /* [retval][out] */ CommandBar **ppcb) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Controls( 
            /* [retval][out] */ CommandBarControls **ppcbcs) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_OLEMenuGroup( 
            /* [retval][out] */ MsoOLEMenuGroup *pomg) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_OLEMenuGroup( 
            /* [in] */ MsoOLEMenuGroup pomg) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_InstanceIdPtr( 
            /* [retval][out] */ VARIANT *pvarPic) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CommandBarPopupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CommandBarPopup * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CommandBarPopup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CommandBarPopup * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CommandBarPopup * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CommandBarPopup * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CommandBarPopup * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CommandBarPopup * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 
            CommandBarPopup * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 
            CommandBarPopup * This,
            /* [retval][out] */ long *pcountChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 
            CommandBarPopup * This,
            /* [in] */ VARIANT varChild,
            /* [retval][out] */ IDispatch **ppdispChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszName);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszValue);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDescription);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarRole);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarState);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszHelp);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 
            CommandBarPopup * This,
            /* [out] */ BSTR *pszHelpFile,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ long *pidTopic);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszKeyboardShortcut);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 
            CommandBarPopup * This,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 
            CommandBarPopup * This,
            /* [retval][out] */ VARIANT *pvarChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDefaultAction);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 
            CommandBarPopup * This,
            /* [in] */ long flagsSelect,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 
            CommandBarPopup * This,
            /* [out] */ long *pxLeft,
            /* [out] */ long *pyTop,
            /* [out] */ long *pcxWidth,
            /* [out] */ long *pcyHeight,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 
            CommandBarPopup * This,
            /* [in] */ long navDir,
            /* [optional][in] */ VARIANT varStart,
            /* [retval][out] */ VARIANT *pvarEndUpAt);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 
            CommandBarPopup * This,
            /* [in] */ long xLeft,
            /* [in] */ long yTop,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszName);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CommandBarPopup * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CommandBarPopup * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginGroup )( 
            CommandBarPopup * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBeginGroup);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BeginGroup )( 
            CommandBarPopup * This,
            /* [in] */ VARIANT_BOOL pvarfBeginGroup);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BuiltIn )( 
            CommandBarPopup * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBuiltIn);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            CommandBarPopup * This,
            /* [retval][out] */ BSTR *pbstrCaption);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
            CommandBarPopup * This,
            /* [in] */ BSTR pbstrCaption);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Control )( 
            CommandBarPopup * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT Temporary);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DescriptionText )( 
            CommandBarPopup * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DescriptionText )( 
            CommandBarPopup * This,
            /* [in] */ BSTR pbstrText);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            CommandBarPopup * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfEnabled);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            CommandBarPopup * This,
            /* [in] */ VARIANT_BOOL pvarfEnabled);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            CommandBarPopup * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            CommandBarPopup * This,
            /* [retval][out] */ int *pdy);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            CommandBarPopup * This,
            /* [in] */ int pdy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HelpContextId )( 
            CommandBarPopup * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HelpContextId )( 
            CommandBarPopup * This,
            /* [in] */ int pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HelpFile )( 
            CommandBarPopup * This,
            /* [retval][out] */ BSTR *pbstrFilename);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HelpFile )( 
            CommandBarPopup * This,
            /* [in] */ BSTR pbstrFilename);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            CommandBarPopup * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            CommandBarPopup * This,
            /* [retval][out] */ int *pi);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceId )( 
            CommandBarPopup * This,
            /* [retval][out] */ long *pid);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            CommandBarPopup * This,
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            CommandBarPopup * This,
            /* [retval][out] */ int *px);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OLEUsage )( 
            CommandBarPopup * This,
            /* [retval][out] */ MsoControlOLEUsage *pcou);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OLEUsage )( 
            CommandBarPopup * This,
            /* [in] */ MsoControlOLEUsage pcou);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OnAction )( 
            CommandBarPopup * This,
            /* [retval][out] */ BSTR *pbstrOnAction);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OnAction )( 
            CommandBarPopup * This,
            /* [in] */ BSTR pbstrOnAction);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CommandBarPopup * This,
            /* [retval][out] */ CommandBar **ppcb);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parameter )( 
            CommandBarPopup * This,
            /* [retval][out] */ BSTR *pbstrParam);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Parameter )( 
            CommandBarPopup * This,
            /* [in] */ BSTR pbstrParam);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )( 
            CommandBarPopup * This,
            /* [retval][out] */ int *pnPri);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )( 
            CommandBarPopup * This,
            /* [in] */ int pnPri);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            CommandBarPopup * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
            CommandBarPopup * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Tag )( 
            CommandBarPopup * This,
            /* [retval][out] */ BSTR *pbstrTag);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Tag )( 
            CommandBarPopup * This,
            /* [in] */ BSTR pbstrTag);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TooltipText )( 
            CommandBarPopup * This,
            /* [retval][out] */ BSTR *pbstrTooltip);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TooltipText )( 
            CommandBarPopup * This,
            /* [in] */ BSTR pbstrTooltip);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            CommandBarPopup * This,
            /* [retval][out] */ int *py);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            CommandBarPopup * This,
            /* [retval][out] */ MsoControlType *ptype);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            CommandBarPopup * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfVisible);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            CommandBarPopup * This,
            /* [in] */ VARIANT_BOOL pvarfVisible);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            CommandBarPopup * This,
            /* [retval][out] */ int *pdx);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            CommandBarPopup * This,
            /* [in] */ int pdx);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPriorityDropped )( 
            CommandBarPopup * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfDropped);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved1 )( 
            CommandBarPopup * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved2 )( 
            CommandBarPopup * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved3 )( 
            CommandBarPopup * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved4 )( 
            CommandBarPopup * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved5 )( 
            CommandBarPopup * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved6 )( 
            CommandBarPopup * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved7 )( 
            CommandBarPopup * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CommandBar )( 
            CommandBarPopup * This,
            /* [retval][out] */ CommandBar **ppcb);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Controls )( 
            CommandBarPopup * This,
            /* [retval][out] */ CommandBarControls **ppcbcs);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OLEMenuGroup )( 
            CommandBarPopup * This,
            /* [retval][out] */ MsoOLEMenuGroup *pomg);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OLEMenuGroup )( 
            CommandBarPopup * This,
            /* [in] */ MsoOLEMenuGroup pomg);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceIdPtr )( 
            CommandBarPopup * This,
            /* [retval][out] */ VARIANT *pvarPic);
        
        END_INTERFACE
    } CommandBarPopupVtbl;

    interface CommandBarPopup
    {
        CONST_VTBL struct CommandBarPopupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define CommandBarPopup_get_accParent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

#define CommandBarPopup_get_accChildCount(This,pcountChildren)	\
    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

#define CommandBarPopup_get_accChild(This,varChild,ppdispChild)	\
    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

#define CommandBarPopup_get_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

#define CommandBarPopup_get_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

#define CommandBarPopup_get_accDescription(This,varChild,pszDescription)	\
    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

#define CommandBarPopup_get_accRole(This,varChild,pvarRole)	\
    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

#define CommandBarPopup_get_accState(This,varChild,pvarState)	\
    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

#define CommandBarPopup_get_accHelp(This,varChild,pszHelp)	\
    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

#define CommandBarPopup_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\
    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

#define CommandBarPopup_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\
    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

#define CommandBarPopup_get_accFocus(This,pvarChild)	\
    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

#define CommandBarPopup_get_accSelection(This,pvarChildren)	\
    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

#define CommandBarPopup_get_accDefaultAction(This,varChild,pszDefaultAction)	\
    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

#define CommandBarPopup_accSelect(This,flagsSelect,varChild)	\
    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

#define CommandBarPopup_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\
    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

#define CommandBarPopup_accNavigate(This,navDir,varStart,pvarEndUpAt)	\
    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

#define CommandBarPopup_accHitTest(This,xLeft,yTop,pvarChild)	\
    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

#define CommandBarPopup_accDoDefaultAction(This,varChild)	\
    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

#define CommandBarPopup_put_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> put_accName(This,varChild,pszName) ) 

#define CommandBarPopup_put_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> put_accValue(This,varChild,pszValue) ) 


#define CommandBarPopup_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CommandBarPopup_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CommandBarPopup_get_BeginGroup(This,pvarfBeginGroup)	\
    ( (This)->lpVtbl -> get_BeginGroup(This,pvarfBeginGroup) ) 

#define CommandBarPopup_put_BeginGroup(This,pvarfBeginGroup)	\
    ( (This)->lpVtbl -> put_BeginGroup(This,pvarfBeginGroup) ) 

#define CommandBarPopup_get_BuiltIn(This,pvarfBuiltIn)	\
    ( (This)->lpVtbl -> get_BuiltIn(This,pvarfBuiltIn) ) 

#define CommandBarPopup_get_Caption(This,pbstrCaption)	\
    ( (This)->lpVtbl -> get_Caption(This,pbstrCaption) ) 

#define CommandBarPopup_put_Caption(This,pbstrCaption)	\
    ( (This)->lpVtbl -> put_Caption(This,pbstrCaption) ) 

#define CommandBarPopup_get_Control(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Control(This,ppidisp) ) 

#define CommandBarPopup_Copy(This,Bar,Before,ppcbc)	\
    ( (This)->lpVtbl -> Copy(This,Bar,Before,ppcbc) ) 

#define CommandBarPopup_Delete(This,Temporary)	\
    ( (This)->lpVtbl -> Delete(This,Temporary) ) 

#define CommandBarPopup_get_DescriptionText(This,pbstrText)	\
    ( (This)->lpVtbl -> get_DescriptionText(This,pbstrText) ) 

#define CommandBarPopup_put_DescriptionText(This,pbstrText)	\
    ( (This)->lpVtbl -> put_DescriptionText(This,pbstrText) ) 

#define CommandBarPopup_get_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,pvarfEnabled) ) 

#define CommandBarPopup_put_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,pvarfEnabled) ) 

#define CommandBarPopup_Execute(This)	\
    ( (This)->lpVtbl -> Execute(This) ) 

#define CommandBarPopup_get_Height(This,pdy)	\
    ( (This)->lpVtbl -> get_Height(This,pdy) ) 

#define CommandBarPopup_put_Height(This,pdy)	\
    ( (This)->lpVtbl -> put_Height(This,pdy) ) 

#define CommandBarPopup_get_HelpContextId(This,pid)	\
    ( (This)->lpVtbl -> get_HelpContextId(This,pid) ) 

#define CommandBarPopup_put_HelpContextId(This,pid)	\
    ( (This)->lpVtbl -> put_HelpContextId(This,pid) ) 

#define CommandBarPopup_get_HelpFile(This,pbstrFilename)	\
    ( (This)->lpVtbl -> get_HelpFile(This,pbstrFilename) ) 

#define CommandBarPopup_put_HelpFile(This,pbstrFilename)	\
    ( (This)->lpVtbl -> put_HelpFile(This,pbstrFilename) ) 

#define CommandBarPopup_get_Id(This,pid)	\
    ( (This)->lpVtbl -> get_Id(This,pid) ) 

#define CommandBarPopup_get_Index(This,pi)	\
    ( (This)->lpVtbl -> get_Index(This,pi) ) 

#define CommandBarPopup_get_InstanceId(This,pid)	\
    ( (This)->lpVtbl -> get_InstanceId(This,pid) ) 

#define CommandBarPopup_Move(This,Bar,Before,ppcbc)	\
    ( (This)->lpVtbl -> Move(This,Bar,Before,ppcbc) ) 

#define CommandBarPopup_get_Left(This,px)	\
    ( (This)->lpVtbl -> get_Left(This,px) ) 

#define CommandBarPopup_get_OLEUsage(This,pcou)	\
    ( (This)->lpVtbl -> get_OLEUsage(This,pcou) ) 

#define CommandBarPopup_put_OLEUsage(This,pcou)	\
    ( (This)->lpVtbl -> put_OLEUsage(This,pcou) ) 

#define CommandBarPopup_get_OnAction(This,pbstrOnAction)	\
    ( (This)->lpVtbl -> get_OnAction(This,pbstrOnAction) ) 

#define CommandBarPopup_put_OnAction(This,pbstrOnAction)	\
    ( (This)->lpVtbl -> put_OnAction(This,pbstrOnAction) ) 

#define CommandBarPopup_get_Parent(This,ppcb)	\
    ( (This)->lpVtbl -> get_Parent(This,ppcb) ) 

#define CommandBarPopup_get_Parameter(This,pbstrParam)	\
    ( (This)->lpVtbl -> get_Parameter(This,pbstrParam) ) 

#define CommandBarPopup_put_Parameter(This,pbstrParam)	\
    ( (This)->lpVtbl -> put_Parameter(This,pbstrParam) ) 

#define CommandBarPopup_get_Priority(This,pnPri)	\
    ( (This)->lpVtbl -> get_Priority(This,pnPri) ) 

#define CommandBarPopup_put_Priority(This,pnPri)	\
    ( (This)->lpVtbl -> put_Priority(This,pnPri) ) 

#define CommandBarPopup_Reset(This)	\
    ( (This)->lpVtbl -> Reset(This) ) 

#define CommandBarPopup_SetFocus(This)	\
    ( (This)->lpVtbl -> SetFocus(This) ) 

#define CommandBarPopup_get_Tag(This,pbstrTag)	\
    ( (This)->lpVtbl -> get_Tag(This,pbstrTag) ) 

#define CommandBarPopup_put_Tag(This,pbstrTag)	\
    ( (This)->lpVtbl -> put_Tag(This,pbstrTag) ) 

#define CommandBarPopup_get_TooltipText(This,pbstrTooltip)	\
    ( (This)->lpVtbl -> get_TooltipText(This,pbstrTooltip) ) 

#define CommandBarPopup_put_TooltipText(This,pbstrTooltip)	\
    ( (This)->lpVtbl -> put_TooltipText(This,pbstrTooltip) ) 

#define CommandBarPopup_get_Top(This,py)	\
    ( (This)->lpVtbl -> get_Top(This,py) ) 

#define CommandBarPopup_get_Type(This,ptype)	\
    ( (This)->lpVtbl -> get_Type(This,ptype) ) 

#define CommandBarPopup_get_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,pvarfVisible) ) 

#define CommandBarPopup_put_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,pvarfVisible) ) 

#define CommandBarPopup_get_Width(This,pdx)	\
    ( (This)->lpVtbl -> get_Width(This,pdx) ) 

#define CommandBarPopup_put_Width(This,pdx)	\
    ( (This)->lpVtbl -> put_Width(This,pdx) ) 

#define CommandBarPopup_get_IsPriorityDropped(This,pvarfDropped)	\
    ( (This)->lpVtbl -> get_IsPriorityDropped(This,pvarfDropped) ) 

#define CommandBarPopup_Reserved1(This)	\
    ( (This)->lpVtbl -> Reserved1(This) ) 

#define CommandBarPopup_Reserved2(This)	\
    ( (This)->lpVtbl -> Reserved2(This) ) 

#define CommandBarPopup_Reserved3(This)	\
    ( (This)->lpVtbl -> Reserved3(This) ) 

#define CommandBarPopup_Reserved4(This)	\
    ( (This)->lpVtbl -> Reserved4(This) ) 

#define CommandBarPopup_Reserved5(This)	\
    ( (This)->lpVtbl -> Reserved5(This) ) 

#define CommandBarPopup_Reserved6(This)	\
    ( (This)->lpVtbl -> Reserved6(This) ) 

#define CommandBarPopup_Reserved7(This)	\
    ( (This)->lpVtbl -> Reserved7(This) ) 


#define CommandBarPopup_get_CommandBar(This,ppcb)	\
    ( (This)->lpVtbl -> get_CommandBar(This,ppcb) ) 

#define CommandBarPopup_get_Controls(This,ppcbcs)	\
    ( (This)->lpVtbl -> get_Controls(This,ppcbcs) ) 

#define CommandBarPopup_get_OLEMenuGroup(This,pomg)	\
    ( (This)->lpVtbl -> get_OLEMenuGroup(This,pomg) ) 

#define CommandBarPopup_put_OLEMenuGroup(This,pomg)	\
    ( (This)->lpVtbl -> put_OLEMenuGroup(This,pomg) ) 

#define CommandBarPopup_get_InstanceIdPtr(This,pvarPic)	\
    ( (This)->lpVtbl -> get_InstanceIdPtr(This,pvarPic) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CommandBarPopup_INTERFACE_DEFINED__ */


#ifndef ___CommandBarComboBox_INTERFACE_DEFINED__
#define ___CommandBarComboBox_INTERFACE_DEFINED__

/* interface _CommandBarComboBox */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID__CommandBarComboBox;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C030C-0000-0000-C000-000000000046")
    _CommandBarComboBox : public CommandBarControl
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddItem( 
            /* [in] */ BSTR Text,
            /* [optional][in] */ VARIANT Index) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DropDownLines( 
            /* [retval][out] */ int *pcLines) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DropDownLines( 
            /* [in] */ int pcLines) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DropDownWidth( 
            /* [retval][out] */ int *pdx) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DropDownWidth( 
            /* [in] */ int pdx) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_List( 
            /* [in] */ int Index,
            /* [retval][out] */ BSTR *pbstrItem) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_List( 
            /* [in] */ int Index,
            /* [in] */ BSTR pbstrItem) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ListCount( 
            /* [retval][out] */ int *pcItems) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ListHeaderCount( 
            /* [retval][out] */ int *pcItems) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ListHeaderCount( 
            /* [in] */ int pcItems) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ListIndex( 
            /* [retval][out] */ int *pi) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ListIndex( 
            /* [in] */ int pi) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveItem( 
            /* [in] */ int Index) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Style( 
            /* [retval][out] */ MsoComboStyle *pstyle) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Style( 
            /* [in] */ MsoComboStyle pstyle) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pbstrText) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR pbstrText) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_InstanceIdPtr( 
            /* [retval][out] */ VARIANT *pvarPic) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct _CommandBarComboBoxVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CommandBarComboBox * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CommandBarComboBox * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CommandBarComboBox * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CommandBarComboBox * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CommandBarComboBox * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CommandBarComboBox * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CommandBarComboBox * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ long *pcountChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 
            _CommandBarComboBox * This,
            /* [in] */ VARIANT varChild,
            /* [retval][out] */ IDispatch **ppdispChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszName);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszValue);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDescription);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarRole);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarState);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszHelp);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 
            _CommandBarComboBox * This,
            /* [out] */ BSTR *pszHelpFile,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ long *pidTopic);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszKeyboardShortcut);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ VARIANT *pvarChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDefaultAction);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 
            _CommandBarComboBox * This,
            /* [in] */ long flagsSelect,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 
            _CommandBarComboBox * This,
            /* [out] */ long *pxLeft,
            /* [out] */ long *pyTop,
            /* [out] */ long *pcxWidth,
            /* [out] */ long *pcyHeight,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 
            _CommandBarComboBox * This,
            /* [in] */ long navDir,
            /* [optional][in] */ VARIANT varStart,
            /* [retval][out] */ VARIANT *pvarEndUpAt);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 
            _CommandBarComboBox * This,
            /* [in] */ long xLeft,
            /* [in] */ long yTop,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszName);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginGroup )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBeginGroup);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BeginGroup )( 
            _CommandBarComboBox * This,
            /* [in] */ VARIANT_BOOL pvarfBeginGroup);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BuiltIn )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBuiltIn);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ BSTR *pbstrCaption);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
            _CommandBarComboBox * This,
            /* [in] */ BSTR pbstrCaption);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Control )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT Temporary);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DescriptionText )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DescriptionText )( 
            _CommandBarComboBox * This,
            /* [in] */ BSTR pbstrText);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfEnabled);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            _CommandBarComboBox * This,
            /* [in] */ VARIANT_BOOL pvarfEnabled);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            _CommandBarComboBox * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pdy);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            _CommandBarComboBox * This,
            /* [in] */ int pdy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HelpContextId )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HelpContextId )( 
            _CommandBarComboBox * This,
            /* [in] */ int pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HelpFile )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ BSTR *pbstrFilename);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HelpFile )( 
            _CommandBarComboBox * This,
            /* [in] */ BSTR pbstrFilename);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pi);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceId )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ long *pid);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            _CommandBarComboBox * This,
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *px);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OLEUsage )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ MsoControlOLEUsage *pcou);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OLEUsage )( 
            _CommandBarComboBox * This,
            /* [in] */ MsoControlOLEUsage pcou);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OnAction )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ BSTR *pbstrOnAction);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OnAction )( 
            _CommandBarComboBox * This,
            /* [in] */ BSTR pbstrOnAction);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ CommandBar **ppcb);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parameter )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ BSTR *pbstrParam);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Parameter )( 
            _CommandBarComboBox * This,
            /* [in] */ BSTR pbstrParam);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pnPri);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )( 
            _CommandBarComboBox * This,
            /* [in] */ int pnPri);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            _CommandBarComboBox * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
            _CommandBarComboBox * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Tag )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ BSTR *pbstrTag);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Tag )( 
            _CommandBarComboBox * This,
            /* [in] */ BSTR pbstrTag);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TooltipText )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ BSTR *pbstrTooltip);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TooltipText )( 
            _CommandBarComboBox * This,
            /* [in] */ BSTR pbstrTooltip);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *py);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ MsoControlType *ptype);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfVisible);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            _CommandBarComboBox * This,
            /* [in] */ VARIANT_BOOL pvarfVisible);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pdx);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            _CommandBarComboBox * This,
            /* [in] */ int pdx);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPriorityDropped )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfDropped);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved1 )( 
            _CommandBarComboBox * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved2 )( 
            _CommandBarComboBox * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved3 )( 
            _CommandBarComboBox * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved4 )( 
            _CommandBarComboBox * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved5 )( 
            _CommandBarComboBox * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved6 )( 
            _CommandBarComboBox * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved7 )( 
            _CommandBarComboBox * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddItem )( 
            _CommandBarComboBox * This,
            /* [in] */ BSTR Text,
            /* [optional][in] */ VARIANT Index);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            _CommandBarComboBox * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DropDownLines )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pcLines);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DropDownLines )( 
            _CommandBarComboBox * This,
            /* [in] */ int pcLines);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DropDownWidth )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pdx);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DropDownWidth )( 
            _CommandBarComboBox * This,
            /* [in] */ int pdx);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_List )( 
            _CommandBarComboBox * This,
            /* [in] */ int Index,
            /* [retval][out] */ BSTR *pbstrItem);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_List )( 
            _CommandBarComboBox * This,
            /* [in] */ int Index,
            /* [in] */ BSTR pbstrItem);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ListCount )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pcItems);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ListHeaderCount )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pcItems);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ListHeaderCount )( 
            _CommandBarComboBox * This,
            /* [in] */ int pcItems);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ListIndex )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ int *pi);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ListIndex )( 
            _CommandBarComboBox * This,
            /* [in] */ int pi);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveItem )( 
            _CommandBarComboBox * This,
            /* [in] */ int Index);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Style )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ MsoComboStyle *pstyle);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Style )( 
            _CommandBarComboBox * This,
            /* [in] */ MsoComboStyle pstyle);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            _CommandBarComboBox * This,
            /* [in] */ BSTR pbstrText);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceIdPtr )( 
            _CommandBarComboBox * This,
            /* [retval][out] */ VARIANT *pvarPic);
        
        END_INTERFACE
    } _CommandBarComboBoxVtbl;

    interface _CommandBarComboBox
    {
        CONST_VTBL struct _CommandBarComboBoxVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define _CommandBarComboBox_get_accParent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

#define _CommandBarComboBox_get_accChildCount(This,pcountChildren)	\
    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

#define _CommandBarComboBox_get_accChild(This,varChild,ppdispChild)	\
    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

#define _CommandBarComboBox_get_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

#define _CommandBarComboBox_get_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

#define _CommandBarComboBox_get_accDescription(This,varChild,pszDescription)	\
    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

#define _CommandBarComboBox_get_accRole(This,varChild,pvarRole)	\
    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

#define _CommandBarComboBox_get_accState(This,varChild,pvarState)	\
    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

#define _CommandBarComboBox_get_accHelp(This,varChild,pszHelp)	\
    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

#define _CommandBarComboBox_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\
    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

#define _CommandBarComboBox_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\
    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

#define _CommandBarComboBox_get_accFocus(This,pvarChild)	\
    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

#define _CommandBarComboBox_get_accSelection(This,pvarChildren)	\
    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

#define _CommandBarComboBox_get_accDefaultAction(This,varChild,pszDefaultAction)	\
    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

#define _CommandBarComboBox_accSelect(This,flagsSelect,varChild)	\
    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

#define _CommandBarComboBox_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\
    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

#define _CommandBarComboBox_accNavigate(This,navDir,varStart,pvarEndUpAt)	\
    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

#define _CommandBarComboBox_accHitTest(This,xLeft,yTop,pvarChild)	\
    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

#define _CommandBarComboBox_accDoDefaultAction(This,varChild)	\
    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

#define _CommandBarComboBox_put_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> put_accName(This,varChild,pszName) ) 

#define _CommandBarComboBox_put_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> put_accValue(This,varChild,pszValue) ) 


#define _CommandBarComboBox_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define _CommandBarComboBox_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define _CommandBarComboBox_get_BeginGroup(This,pvarfBeginGroup)	\
    ( (This)->lpVtbl -> get_BeginGroup(This,pvarfBeginGroup) ) 

#define _CommandBarComboBox_put_BeginGroup(This,pvarfBeginGroup)	\
    ( (This)->lpVtbl -> put_BeginGroup(This,pvarfBeginGroup) ) 

#define _CommandBarComboBox_get_BuiltIn(This,pvarfBuiltIn)	\
    ( (This)->lpVtbl -> get_BuiltIn(This,pvarfBuiltIn) ) 

#define _CommandBarComboBox_get_Caption(This,pbstrCaption)	\
    ( (This)->lpVtbl -> get_Caption(This,pbstrCaption) ) 

#define _CommandBarComboBox_put_Caption(This,pbstrCaption)	\
    ( (This)->lpVtbl -> put_Caption(This,pbstrCaption) ) 

#define _CommandBarComboBox_get_Control(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Control(This,ppidisp) ) 

#define _CommandBarComboBox_Copy(This,Bar,Before,ppcbc)	\
    ( (This)->lpVtbl -> Copy(This,Bar,Before,ppcbc) ) 

#define _CommandBarComboBox_Delete(This,Temporary)	\
    ( (This)->lpVtbl -> Delete(This,Temporary) ) 

#define _CommandBarComboBox_get_DescriptionText(This,pbstrText)	\
    ( (This)->lpVtbl -> get_DescriptionText(This,pbstrText) ) 

#define _CommandBarComboBox_put_DescriptionText(This,pbstrText)	\
    ( (This)->lpVtbl -> put_DescriptionText(This,pbstrText) ) 

#define _CommandBarComboBox_get_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,pvarfEnabled) ) 

#define _CommandBarComboBox_put_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,pvarfEnabled) ) 

#define _CommandBarComboBox_Execute(This)	\
    ( (This)->lpVtbl -> Execute(This) ) 

#define _CommandBarComboBox_get_Height(This,pdy)	\
    ( (This)->lpVtbl -> get_Height(This,pdy) ) 

#define _CommandBarComboBox_put_Height(This,pdy)	\
    ( (This)->lpVtbl -> put_Height(This,pdy) ) 

#define _CommandBarComboBox_get_HelpContextId(This,pid)	\
    ( (This)->lpVtbl -> get_HelpContextId(This,pid) ) 

#define _CommandBarComboBox_put_HelpContextId(This,pid)	\
    ( (This)->lpVtbl -> put_HelpContextId(This,pid) ) 

#define _CommandBarComboBox_get_HelpFile(This,pbstrFilename)	\
    ( (This)->lpVtbl -> get_HelpFile(This,pbstrFilename) ) 

#define _CommandBarComboBox_put_HelpFile(This,pbstrFilename)	\
    ( (This)->lpVtbl -> put_HelpFile(This,pbstrFilename) ) 

#define _CommandBarComboBox_get_Id(This,pid)	\
    ( (This)->lpVtbl -> get_Id(This,pid) ) 

#define _CommandBarComboBox_get_Index(This,pi)	\
    ( (This)->lpVtbl -> get_Index(This,pi) ) 

#define _CommandBarComboBox_get_InstanceId(This,pid)	\
    ( (This)->lpVtbl -> get_InstanceId(This,pid) ) 

#define _CommandBarComboBox_Move(This,Bar,Before,ppcbc)	\
    ( (This)->lpVtbl -> Move(This,Bar,Before,ppcbc) ) 

#define _CommandBarComboBox_get_Left(This,px)	\
    ( (This)->lpVtbl -> get_Left(This,px) ) 

#define _CommandBarComboBox_get_OLEUsage(This,pcou)	\
    ( (This)->lpVtbl -> get_OLEUsage(This,pcou) ) 

#define _CommandBarComboBox_put_OLEUsage(This,pcou)	\
    ( (This)->lpVtbl -> put_OLEUsage(This,pcou) ) 

#define _CommandBarComboBox_get_OnAction(This,pbstrOnAction)	\
    ( (This)->lpVtbl -> get_OnAction(This,pbstrOnAction) ) 

#define _CommandBarComboBox_put_OnAction(This,pbstrOnAction)	\
    ( (This)->lpVtbl -> put_OnAction(This,pbstrOnAction) ) 

#define _CommandBarComboBox_get_Parent(This,ppcb)	\
    ( (This)->lpVtbl -> get_Parent(This,ppcb) ) 

#define _CommandBarComboBox_get_Parameter(This,pbstrParam)	\
    ( (This)->lpVtbl -> get_Parameter(This,pbstrParam) ) 

#define _CommandBarComboBox_put_Parameter(This,pbstrParam)	\
    ( (This)->lpVtbl -> put_Parameter(This,pbstrParam) ) 

#define _CommandBarComboBox_get_Priority(This,pnPri)	\
    ( (This)->lpVtbl -> get_Priority(This,pnPri) ) 

#define _CommandBarComboBox_put_Priority(This,pnPri)	\
    ( (This)->lpVtbl -> put_Priority(This,pnPri) ) 

#define _CommandBarComboBox_Reset(This)	\
    ( (This)->lpVtbl -> Reset(This) ) 

#define _CommandBarComboBox_SetFocus(This)	\
    ( (This)->lpVtbl -> SetFocus(This) ) 

#define _CommandBarComboBox_get_Tag(This,pbstrTag)	\
    ( (This)->lpVtbl -> get_Tag(This,pbstrTag) ) 

#define _CommandBarComboBox_put_Tag(This,pbstrTag)	\
    ( (This)->lpVtbl -> put_Tag(This,pbstrTag) ) 

#define _CommandBarComboBox_get_TooltipText(This,pbstrTooltip)	\
    ( (This)->lpVtbl -> get_TooltipText(This,pbstrTooltip) ) 

#define _CommandBarComboBox_put_TooltipText(This,pbstrTooltip)	\
    ( (This)->lpVtbl -> put_TooltipText(This,pbstrTooltip) ) 

#define _CommandBarComboBox_get_Top(This,py)	\
    ( (This)->lpVtbl -> get_Top(This,py) ) 

#define _CommandBarComboBox_get_Type(This,ptype)	\
    ( (This)->lpVtbl -> get_Type(This,ptype) ) 

#define _CommandBarComboBox_get_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,pvarfVisible) ) 

#define _CommandBarComboBox_put_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,pvarfVisible) ) 

#define _CommandBarComboBox_get_Width(This,pdx)	\
    ( (This)->lpVtbl -> get_Width(This,pdx) ) 

#define _CommandBarComboBox_put_Width(This,pdx)	\
    ( (This)->lpVtbl -> put_Width(This,pdx) ) 

#define _CommandBarComboBox_get_IsPriorityDropped(This,pvarfDropped)	\
    ( (This)->lpVtbl -> get_IsPriorityDropped(This,pvarfDropped) ) 

#define _CommandBarComboBox_Reserved1(This)	\
    ( (This)->lpVtbl -> Reserved1(This) ) 

#define _CommandBarComboBox_Reserved2(This)	\
    ( (This)->lpVtbl -> Reserved2(This) ) 

#define _CommandBarComboBox_Reserved3(This)	\
    ( (This)->lpVtbl -> Reserved3(This) ) 

#define _CommandBarComboBox_Reserved4(This)	\
    ( (This)->lpVtbl -> Reserved4(This) ) 

#define _CommandBarComboBox_Reserved5(This)	\
    ( (This)->lpVtbl -> Reserved5(This) ) 

#define _CommandBarComboBox_Reserved6(This)	\
    ( (This)->lpVtbl -> Reserved6(This) ) 

#define _CommandBarComboBox_Reserved7(This)	\
    ( (This)->lpVtbl -> Reserved7(This) ) 


#define _CommandBarComboBox_AddItem(This,Text,Index)	\
    ( (This)->lpVtbl -> AddItem(This,Text,Index) ) 

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

#define _CommandBarComboBox_get_DropDownLines(This,pcLines)	\
    ( (This)->lpVtbl -> get_DropDownLines(This,pcLines) ) 

#define _CommandBarComboBox_put_DropDownLines(This,pcLines)	\
    ( (This)->lpVtbl -> put_DropDownLines(This,pcLines) ) 

#define _CommandBarComboBox_get_DropDownWidth(This,pdx)	\
    ( (This)->lpVtbl -> get_DropDownWidth(This,pdx) ) 

#define _CommandBarComboBox_put_DropDownWidth(This,pdx)	\
    ( (This)->lpVtbl -> put_DropDownWidth(This,pdx) ) 

#define _CommandBarComboBox_get_List(This,Index,pbstrItem)	\
    ( (This)->lpVtbl -> get_List(This,Index,pbstrItem) ) 

#define _CommandBarComboBox_put_List(This,Index,pbstrItem)	\
    ( (This)->lpVtbl -> put_List(This,Index,pbstrItem) ) 

#define _CommandBarComboBox_get_ListCount(This,pcItems)	\
    ( (This)->lpVtbl -> get_ListCount(This,pcItems) ) 

#define _CommandBarComboBox_get_ListHeaderCount(This,pcItems)	\
    ( (This)->lpVtbl -> get_ListHeaderCount(This,pcItems) ) 

#define _CommandBarComboBox_put_ListHeaderCount(This,pcItems)	\
    ( (This)->lpVtbl -> put_ListHeaderCount(This,pcItems) ) 

#define _CommandBarComboBox_get_ListIndex(This,pi)	\
    ( (This)->lpVtbl -> get_ListIndex(This,pi) ) 

#define _CommandBarComboBox_put_ListIndex(This,pi)	\
    ( (This)->lpVtbl -> put_ListIndex(This,pi) ) 

#define _CommandBarComboBox_RemoveItem(This,Index)	\
    ( (This)->lpVtbl -> RemoveItem(This,Index) ) 

#define _CommandBarComboBox_get_Style(This,pstyle)	\
    ( (This)->lpVtbl -> get_Style(This,pstyle) ) 

#define _CommandBarComboBox_put_Style(This,pstyle)	\
    ( (This)->lpVtbl -> put_Style(This,pstyle) ) 

#define _CommandBarComboBox_get_Text(This,pbstrText)	\
    ( (This)->lpVtbl -> get_Text(This,pbstrText) ) 

#define _CommandBarComboBox_put_Text(This,pbstrText)	\
    ( (This)->lpVtbl -> put_Text(This,pbstrText) ) 

#define _CommandBarComboBox_get_InstanceIdPtr(This,pvarPic)	\
    ( (This)->lpVtbl -> get_InstanceIdPtr(This,pvarPic) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ___CommandBarComboBox_INTERFACE_DEFINED__ */


#ifndef ___CommandBarActiveX_INTERFACE_DEFINED__
#define ___CommandBarActiveX_INTERFACE_DEFINED__

/* interface _CommandBarActiveX */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID__CommandBarActiveX;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C030D-0000-0000-C000-000000000046")
    _CommandBarActiveX : public CommandBarControl
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ControlCLSID( 
            /* [retval][out] */ BSTR *pbstrClsid) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ControlCLSID( 
            /* [in] */ BSTR pbstrClsid) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_QueryControlInterface( 
            /* [in] */ BSTR bstrIid,
            /* [retval][out] */ IUnknown **ppUnk) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetInnerObjectFactory( 
            /* [in] */ IUnknown *pUnk) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE EnsureControl( void) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_InitWith( 
            /* [in] */ IUnknown *rhs) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_InstanceIdPtr( 
            /* [retval][out] */ VARIANT *pvarPic) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct _CommandBarActiveXVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CommandBarActiveX * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CommandBarActiveX * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CommandBarActiveX * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CommandBarActiveX * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CommandBarActiveX * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CommandBarActiveX * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CommandBarActiveX * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accParent )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChildCount )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ long *pcountChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accChild )( 
            _CommandBarActiveX * This,
            /* [in] */ VARIANT varChild,
            /* [retval][out] */ IDispatch **ppdispChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accName )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszName);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accValue )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszValue);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDescription )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDescription);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accRole )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarRole);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accState )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ VARIANT *pvarState);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelp )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszHelp);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accHelpTopic )( 
            _CommandBarActiveX * This,
            /* [out] */ BSTR *pszHelpFile,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ long *pidTopic);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accKeyboardShortcut )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszKeyboardShortcut);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accFocus )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accSelection )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ VARIANT *pvarChildren);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_accDefaultAction )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild,
            /* [retval][out] */ BSTR *pszDefaultAction);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accSelect )( 
            _CommandBarActiveX * This,
            /* [in] */ long flagsSelect,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accLocation )( 
            _CommandBarActiveX * This,
            /* [out] */ long *pxLeft,
            /* [out] */ long *pyTop,
            /* [out] */ long *pcxWidth,
            /* [out] */ long *pcyHeight,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accNavigate )( 
            _CommandBarActiveX * This,
            /* [in] */ long navDir,
            /* [optional][in] */ VARIANT varStart,
            /* [retval][out] */ VARIANT *pvarEndUpAt);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accHitTest )( 
            _CommandBarActiveX * This,
            /* [in] */ long xLeft,
            /* [in] */ long yTop,
            /* [retval][out] */ VARIANT *pvarChild);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *accDoDefaultAction )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accName )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszName);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_accValue )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT varChild,
            /* [in] */ BSTR pszValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginGroup )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBeginGroup);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BeginGroup )( 
            _CommandBarActiveX * This,
            /* [in] */ VARIANT_BOOL pvarfBeginGroup);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BuiltIn )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfBuiltIn);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ BSTR *pbstrCaption);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
            _CommandBarActiveX * This,
            /* [in] */ BSTR pbstrCaption);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Control )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT Temporary);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DescriptionText )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DescriptionText )( 
            _CommandBarActiveX * This,
            /* [in] */ BSTR pbstrText);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfEnabled);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            _CommandBarActiveX * This,
            /* [in] */ VARIANT_BOOL pvarfEnabled);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            _CommandBarActiveX * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ int *pdy);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            _CommandBarActiveX * This,
            /* [in] */ int pdy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HelpContextId )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HelpContextId )( 
            _CommandBarActiveX * This,
            /* [in] */ int pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HelpFile )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ BSTR *pbstrFilename);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HelpFile )( 
            _CommandBarActiveX * This,
            /* [in] */ BSTR pbstrFilename);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ int *pid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ int *pi);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceId )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ long *pid);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            _CommandBarActiveX * This,
            /* [optional][in] */ VARIANT Bar,
            /* [optional][in] */ VARIANT Before,
            /* [retval][out] */ CommandBarControl **ppcbc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ int *px);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OLEUsage )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ MsoControlOLEUsage *pcou);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OLEUsage )( 
            _CommandBarActiveX * This,
            /* [in] */ MsoControlOLEUsage pcou);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OnAction )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ BSTR *pbstrOnAction);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OnAction )( 
            _CommandBarActiveX * This,
            /* [in] */ BSTR pbstrOnAction);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ CommandBar **ppcb);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parameter )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ BSTR *pbstrParam);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Parameter )( 
            _CommandBarActiveX * This,
            /* [in] */ BSTR pbstrParam);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ int *pnPri);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )( 
            _CommandBarActiveX * This,
            /* [in] */ int pnPri);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            _CommandBarActiveX * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
            _CommandBarActiveX * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Tag )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ BSTR *pbstrTag);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Tag )( 
            _CommandBarActiveX * This,
            /* [in] */ BSTR pbstrTag);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TooltipText )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ BSTR *pbstrTooltip);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TooltipText )( 
            _CommandBarActiveX * This,
            /* [in] */ BSTR pbstrTooltip);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ int *py);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ MsoControlType *ptype);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfVisible);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            _CommandBarActiveX * This,
            /* [in] */ VARIANT_BOOL pvarfVisible);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ int *pdx);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            _CommandBarActiveX * This,
            /* [in] */ int pdx);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsPriorityDropped )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfDropped);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved1 )( 
            _CommandBarActiveX * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved2 )( 
            _CommandBarActiveX * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved3 )( 
            _CommandBarActiveX * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved4 )( 
            _CommandBarActiveX * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved5 )( 
            _CommandBarActiveX * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved6 )( 
            _CommandBarActiveX * This);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Reserved7 )( 
            _CommandBarActiveX * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ControlCLSID )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ BSTR *pbstrClsid);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ControlCLSID )( 
            _CommandBarActiveX * This,
            /* [in] */ BSTR pbstrClsid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_QueryControlInterface )( 
            _CommandBarActiveX * This,
            /* [in] */ BSTR bstrIid,
            /* [retval][out] */ IUnknown **ppUnk);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetInnerObjectFactory )( 
            _CommandBarActiveX * This,
            /* [in] */ IUnknown *pUnk);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *EnsureControl )( 
            _CommandBarActiveX * This);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InitWith )( 
            _CommandBarActiveX * This,
            /* [in] */ IUnknown *rhs);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InstanceIdPtr )( 
            _CommandBarActiveX * This,
            /* [retval][out] */ VARIANT *pvarPic);
        
        END_INTERFACE
    } _CommandBarActiveXVtbl;

    interface _CommandBarActiveX
    {
        CONST_VTBL struct _CommandBarActiveXVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define _CommandBarActiveX_get_accParent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_accParent(This,ppdispParent) ) 

#define _CommandBarActiveX_get_accChildCount(This,pcountChildren)	\
    ( (This)->lpVtbl -> get_accChildCount(This,pcountChildren) ) 

#define _CommandBarActiveX_get_accChild(This,varChild,ppdispChild)	\
    ( (This)->lpVtbl -> get_accChild(This,varChild,ppdispChild) ) 

#define _CommandBarActiveX_get_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> get_accName(This,varChild,pszName) ) 

#define _CommandBarActiveX_get_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> get_accValue(This,varChild,pszValue) ) 

#define _CommandBarActiveX_get_accDescription(This,varChild,pszDescription)	\
    ( (This)->lpVtbl -> get_accDescription(This,varChild,pszDescription) ) 

#define _CommandBarActiveX_get_accRole(This,varChild,pvarRole)	\
    ( (This)->lpVtbl -> get_accRole(This,varChild,pvarRole) ) 

#define _CommandBarActiveX_get_accState(This,varChild,pvarState)	\
    ( (This)->lpVtbl -> get_accState(This,varChild,pvarState) ) 

#define _CommandBarActiveX_get_accHelp(This,varChild,pszHelp)	\
    ( (This)->lpVtbl -> get_accHelp(This,varChild,pszHelp) ) 

#define _CommandBarActiveX_get_accHelpTopic(This,pszHelpFile,varChild,pidTopic)	\
    ( (This)->lpVtbl -> get_accHelpTopic(This,pszHelpFile,varChild,pidTopic) ) 

#define _CommandBarActiveX_get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut)	\
    ( (This)->lpVtbl -> get_accKeyboardShortcut(This,varChild,pszKeyboardShortcut) ) 

#define _CommandBarActiveX_get_accFocus(This,pvarChild)	\
    ( (This)->lpVtbl -> get_accFocus(This,pvarChild) ) 

#define _CommandBarActiveX_get_accSelection(This,pvarChildren)	\
    ( (This)->lpVtbl -> get_accSelection(This,pvarChildren) ) 

#define _CommandBarActiveX_get_accDefaultAction(This,varChild,pszDefaultAction)	\
    ( (This)->lpVtbl -> get_accDefaultAction(This,varChild,pszDefaultAction) ) 

#define _CommandBarActiveX_accSelect(This,flagsSelect,varChild)	\
    ( (This)->lpVtbl -> accSelect(This,flagsSelect,varChild) ) 

#define _CommandBarActiveX_accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild)	\
    ( (This)->lpVtbl -> accLocation(This,pxLeft,pyTop,pcxWidth,pcyHeight,varChild) ) 

#define _CommandBarActiveX_accNavigate(This,navDir,varStart,pvarEndUpAt)	\
    ( (This)->lpVtbl -> accNavigate(This,navDir,varStart,pvarEndUpAt) ) 

#define _CommandBarActiveX_accHitTest(This,xLeft,yTop,pvarChild)	\
    ( (This)->lpVtbl -> accHitTest(This,xLeft,yTop,pvarChild) ) 

#define _CommandBarActiveX_accDoDefaultAction(This,varChild)	\
    ( (This)->lpVtbl -> accDoDefaultAction(This,varChild) ) 

#define _CommandBarActiveX_put_accName(This,varChild,pszName)	\
    ( (This)->lpVtbl -> put_accName(This,varChild,pszName) ) 

#define _CommandBarActiveX_put_accValue(This,varChild,pszValue)	\
    ( (This)->lpVtbl -> put_accValue(This,varChild,pszValue) ) 


#define _CommandBarActiveX_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define _CommandBarActiveX_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define _CommandBarActiveX_get_BeginGroup(This,pvarfBeginGroup)	\
    ( (This)->lpVtbl -> get_BeginGroup(This,pvarfBeginGroup) ) 

#define _CommandBarActiveX_put_BeginGroup(This,pvarfBeginGroup)	\
    ( (This)->lpVtbl -> put_BeginGroup(This,pvarfBeginGroup) ) 

#define _CommandBarActiveX_get_BuiltIn(This,pvarfBuiltIn)	\
    ( (This)->lpVtbl -> get_BuiltIn(This,pvarfBuiltIn) ) 

#define _CommandBarActiveX_get_Caption(This,pbstrCaption)	\
    ( (This)->lpVtbl -> get_Caption(This,pbstrCaption) ) 

#define _CommandBarActiveX_put_Caption(This,pbstrCaption)	\
    ( (This)->lpVtbl -> put_Caption(This,pbstrCaption) ) 

#define _CommandBarActiveX_get_Control(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Control(This,ppidisp) ) 

#define _CommandBarActiveX_Copy(This,Bar,Before,ppcbc)	\
    ( (This)->lpVtbl -> Copy(This,Bar,Before,ppcbc) ) 

#define _CommandBarActiveX_Delete(This,Temporary)	\
    ( (This)->lpVtbl -> Delete(This,Temporary) ) 

#define _CommandBarActiveX_get_DescriptionText(This,pbstrText)	\
    ( (This)->lpVtbl -> get_DescriptionText(This,pbstrText) ) 

#define _CommandBarActiveX_put_DescriptionText(This,pbstrText)	\
    ( (This)->lpVtbl -> put_DescriptionText(This,pbstrText) ) 

#define _CommandBarActiveX_get_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,pvarfEnabled) ) 

#define _CommandBarActiveX_put_Enabled(This,pvarfEnabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,pvarfEnabled) ) 

#define _CommandBarActiveX_Execute(This)	\
    ( (This)->lpVtbl -> Execute(This) ) 

#define _CommandBarActiveX_get_Height(This,pdy)	\
    ( (This)->lpVtbl -> get_Height(This,pdy) ) 

#define _CommandBarActiveX_put_Height(This,pdy)	\
    ( (This)->lpVtbl -> put_Height(This,pdy) ) 

#define _CommandBarActiveX_get_HelpContextId(This,pid)	\
    ( (This)->lpVtbl -> get_HelpContextId(This,pid) ) 

#define _CommandBarActiveX_put_HelpContextId(This,pid)	\
    ( (This)->lpVtbl -> put_HelpContextId(This,pid) ) 

#define _CommandBarActiveX_get_HelpFile(This,pbstrFilename)	\
    ( (This)->lpVtbl -> get_HelpFile(This,pbstrFilename) ) 

#define _CommandBarActiveX_put_HelpFile(This,pbstrFilename)	\
    ( (This)->lpVtbl -> put_HelpFile(This,pbstrFilename) ) 

#define _CommandBarActiveX_get_Id(This,pid)	\
    ( (This)->lpVtbl -> get_Id(This,pid) ) 

#define _CommandBarActiveX_get_Index(This,pi)	\
    ( (This)->lpVtbl -> get_Index(This,pi) ) 

#define _CommandBarActiveX_get_InstanceId(This,pid)	\
    ( (This)->lpVtbl -> get_InstanceId(This,pid) ) 

#define _CommandBarActiveX_Move(This,Bar,Before,ppcbc)	\
    ( (This)->lpVtbl -> Move(This,Bar,Before,ppcbc) ) 

#define _CommandBarActiveX_get_Left(This,px)	\
    ( (This)->lpVtbl -> get_Left(This,px) ) 

#define _CommandBarActiveX_get_OLEUsage(This,pcou)	\
    ( (This)->lpVtbl -> get_OLEUsage(This,pcou) ) 

#define _CommandBarActiveX_put_OLEUsage(This,pcou)	\
    ( (This)->lpVtbl -> put_OLEUsage(This,pcou) ) 

#define _CommandBarActiveX_get_OnAction(This,pbstrOnAction)	\
    ( (This)->lpVtbl -> get_OnAction(This,pbstrOnAction) ) 

#define _CommandBarActiveX_put_OnAction(This,pbstrOnAction)	\
    ( (This)->lpVtbl -> put_OnAction(This,pbstrOnAction) ) 

#define _CommandBarActiveX_get_Parent(This,ppcb)	\
    ( (This)->lpVtbl -> get_Parent(This,ppcb) ) 

#define _CommandBarActiveX_get_Parameter(This,pbstrParam)	\
    ( (This)->lpVtbl -> get_Parameter(This,pbstrParam) ) 

#define _CommandBarActiveX_put_Parameter(This,pbstrParam)	\
    ( (This)->lpVtbl -> put_Parameter(This,pbstrParam) ) 

#define _CommandBarActiveX_get_Priority(This,pnPri)	\
    ( (This)->lpVtbl -> get_Priority(This,pnPri) ) 

#define _CommandBarActiveX_put_Priority(This,pnPri)	\
    ( (This)->lpVtbl -> put_Priority(This,pnPri) ) 

#define _CommandBarActiveX_Reset(This)	\
    ( (This)->lpVtbl -> Reset(This) ) 

#define _CommandBarActiveX_SetFocus(This)	\
    ( (This)->lpVtbl -> SetFocus(This) ) 

#define _CommandBarActiveX_get_Tag(This,pbstrTag)	\
    ( (This)->lpVtbl -> get_Tag(This,pbstrTag) ) 

#define _CommandBarActiveX_put_Tag(This,pbstrTag)	\
    ( (This)->lpVtbl -> put_Tag(This,pbstrTag) ) 

#define _CommandBarActiveX_get_TooltipText(This,pbstrTooltip)	\
    ( (This)->lpVtbl -> get_TooltipText(This,pbstrTooltip) ) 

#define _CommandBarActiveX_put_TooltipText(This,pbstrTooltip)	\
    ( (This)->lpVtbl -> put_TooltipText(This,pbstrTooltip) ) 

#define _CommandBarActiveX_get_Top(This,py)	\
    ( (This)->lpVtbl -> get_Top(This,py) ) 

#define _CommandBarActiveX_get_Type(This,ptype)	\
    ( (This)->lpVtbl -> get_Type(This,ptype) ) 

#define _CommandBarActiveX_get_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,pvarfVisible) ) 

#define _CommandBarActiveX_put_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,pvarfVisible) ) 

#define _CommandBarActiveX_get_Width(This,pdx)	\
    ( (This)->lpVtbl -> get_Width(This,pdx) ) 

#define _CommandBarActiveX_put_Width(This,pdx)	\
    ( (This)->lpVtbl -> put_Width(This,pdx) ) 

#define _CommandBarActiveX_get_IsPriorityDropped(This,pvarfDropped)	\
    ( (This)->lpVtbl -> get_IsPriorityDropped(This,pvarfDropped) ) 

#define _CommandBarActiveX_Reserved1(This)	\
    ( (This)->lpVtbl -> Reserved1(This) ) 

#define _CommandBarActiveX_Reserved2(This)	\
    ( (This)->lpVtbl -> Reserved2(This) ) 

#define _CommandBarActiveX_Reserved3(This)	\
    ( (This)->lpVtbl -> Reserved3(This) ) 

#define _CommandBarActiveX_Reserved4(This)	\
    ( (This)->lpVtbl -> Reserved4(This) ) 

#define _CommandBarActiveX_Reserved5(This)	\
    ( (This)->lpVtbl -> Reserved5(This) ) 

#define _CommandBarActiveX_Reserved6(This)	\
    ( (This)->lpVtbl -> Reserved6(This) ) 

#define _CommandBarActiveX_Reserved7(This)	\
    ( (This)->lpVtbl -> Reserved7(This) ) 


#define _CommandBarActiveX_get_ControlCLSID(This,pbstrClsid)	\
    ( (This)->lpVtbl -> get_ControlCLSID(This,pbstrClsid) ) 

#define _CommandBarActiveX_put_ControlCLSID(This,pbstrClsid)	\
    ( (This)->lpVtbl -> put_ControlCLSID(This,pbstrClsid) ) 

#define _CommandBarActiveX_get_QueryControlInterface(This,bstrIid,ppUnk)	\
    ( (This)->lpVtbl -> get_QueryControlInterface(This,bstrIid,ppUnk) ) 

#define _CommandBarActiveX_SetInnerObjectFactory(This,pUnk)	\
    ( (This)->lpVtbl -> SetInnerObjectFactory(This,pUnk) ) 

#define _CommandBarActiveX_EnsureControl(This)	\
    ( (This)->lpVtbl -> EnsureControl(This) ) 

#define _CommandBarActiveX_put_InitWith(This,rhs)	\
    ( (This)->lpVtbl -> put_InitWith(This,rhs) ) 

#define _CommandBarActiveX_get_InstanceIdPtr(This,pvarPic)	\
    ( (This)->lpVtbl -> get_InstanceIdPtr(This,pvarPic) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ___CommandBarActiveX_INTERFACE_DEFINED__ */


#ifndef __Adjustments_INTERFACE_DEFINED__
#define __Adjustments_INTERFACE_DEFINED__

/* interface Adjustments */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_Adjustments;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0310-0000-0000-C000-000000000046")
    Adjustments : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ single *Val) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Item( 
            /* [in] */ int Index,
            /* [in] */ single Val) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct AdjustmentsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Adjustments * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Adjustments * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Adjustments * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Adjustments * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Adjustments * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Adjustments * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Adjustments * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Adjustments * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Adjustments * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Adjustments * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            Adjustments * This,
            /* [retval][out] */ int *Count);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            Adjustments * This,
            /* [in] */ int Index,
            /* [retval][out] */ single *Val);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Item )( 
            Adjustments * This,
            /* [in] */ int Index,
            /* [in] */ single Val);
        
        END_INTERFACE
    } AdjustmentsVtbl;

    interface Adjustments
    {
        CONST_VTBL struct AdjustmentsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define Adjustments_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Adjustments_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Adjustments_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define Adjustments_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define Adjustments_get_Item(This,Index,Val)	\
    ( (This)->lpVtbl -> get_Item(This,Index,Val) ) 

#define Adjustments_put_Item(This,Index,Val)	\
    ( (This)->lpVtbl -> put_Item(This,Index,Val) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Adjustments_INTERFACE_DEFINED__ */


#ifndef __CalloutFormat_INTERFACE_DEFINED__
#define __CalloutFormat_INTERFACE_DEFINED__

/* interface CalloutFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_CalloutFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0311-0000-0000-C000-000000000046")
    CalloutFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AutomaticLength( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CustomDrop( 
            /* [in] */ single Drop) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CustomLength( 
            /* [in] */ single Length) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PresetDrop( 
            /* [in] */ MsoCalloutDropType DropType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Accent( 
            /* [retval][out] */ MsoTriState *Accent) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Accent( 
            /* [in] */ MsoTriState Accent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Angle( 
            /* [retval][out] */ MsoCalloutAngleType *Angle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Angle( 
            /* [in] */ MsoCalloutAngleType Angle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoAttach( 
            /* [retval][out] */ MsoTriState *AutoAttach) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoAttach( 
            /* [in] */ MsoTriState AutoAttach) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoLength( 
            /* [retval][out] */ MsoTriState *AutoLength) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ MsoTriState *Border) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Border( 
            /* [in] */ MsoTriState Border) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Drop( 
            /* [retval][out] */ single *Drop) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DropType( 
            /* [retval][out] */ MsoCalloutDropType *DropType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Gap( 
            /* [retval][out] */ single *Gap) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Gap( 
            /* [in] */ single Gap) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ single *Length) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoCalloutType *Type) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ MsoCalloutType Type) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CalloutFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CalloutFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CalloutFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CalloutFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CalloutFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CalloutFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CalloutFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CalloutFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CalloutFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CalloutFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CalloutFormat * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AutomaticLength )( 
            CalloutFormat * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CustomDrop )( 
            CalloutFormat * This,
            /* [in] */ single Drop);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CustomLength )( 
            CalloutFormat * This,
            /* [in] */ single Length);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PresetDrop )( 
            CalloutFormat * This,
            /* [in] */ MsoCalloutDropType DropType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Accent )( 
            CalloutFormat * This,
            /* [retval][out] */ MsoTriState *Accent);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Accent )( 
            CalloutFormat * This,
            /* [in] */ MsoTriState Accent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Angle )( 
            CalloutFormat * This,
            /* [retval][out] */ MsoCalloutAngleType *Angle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Angle )( 
            CalloutFormat * This,
            /* [in] */ MsoCalloutAngleType Angle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoAttach )( 
            CalloutFormat * This,
            /* [retval][out] */ MsoTriState *AutoAttach);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoAttach )( 
            CalloutFormat * This,
            /* [in] */ MsoTriState AutoAttach);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoLength )( 
            CalloutFormat * This,
            /* [retval][out] */ MsoTriState *AutoLength);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            CalloutFormat * This,
            /* [retval][out] */ MsoTriState *Border);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Border )( 
            CalloutFormat * This,
            /* [in] */ MsoTriState Border);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Drop )( 
            CalloutFormat * This,
            /* [retval][out] */ single *Drop);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DropType )( 
            CalloutFormat * This,
            /* [retval][out] */ MsoCalloutDropType *DropType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Gap )( 
            CalloutFormat * This,
            /* [retval][out] */ single *Gap);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Gap )( 
            CalloutFormat * This,
            /* [in] */ single Gap);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            CalloutFormat * This,
            /* [retval][out] */ single *Length);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            CalloutFormat * This,
            /* [retval][out] */ MsoCalloutType *Type);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            CalloutFormat * This,
            /* [in] */ MsoCalloutType Type);
        
        END_INTERFACE
    } CalloutFormatVtbl;

    interface CalloutFormat
    {
        CONST_VTBL struct CalloutFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define CalloutFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CalloutFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CalloutFormat_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define CalloutFormat_AutomaticLength(This)	\
    ( (This)->lpVtbl -> AutomaticLength(This) ) 

#define CalloutFormat_CustomDrop(This,Drop)	\
    ( (This)->lpVtbl -> CustomDrop(This,Drop) ) 

#define CalloutFormat_CustomLength(This,Length)	\
    ( (This)->lpVtbl -> CustomLength(This,Length) ) 

#define CalloutFormat_PresetDrop(This,DropType)	\
    ( (This)->lpVtbl -> PresetDrop(This,DropType) ) 

#define CalloutFormat_get_Accent(This,Accent)	\
    ( (This)->lpVtbl -> get_Accent(This,Accent) ) 

#define CalloutFormat_put_Accent(This,Accent)	\
    ( (This)->lpVtbl -> put_Accent(This,Accent) ) 

#define CalloutFormat_get_Angle(This,Angle)	\
    ( (This)->lpVtbl -> get_Angle(This,Angle) ) 

#define CalloutFormat_put_Angle(This,Angle)	\
    ( (This)->lpVtbl -> put_Angle(This,Angle) ) 

#define CalloutFormat_get_AutoAttach(This,AutoAttach)	\
    ( (This)->lpVtbl -> get_AutoAttach(This,AutoAttach) ) 

#define CalloutFormat_put_AutoAttach(This,AutoAttach)	\
    ( (This)->lpVtbl -> put_AutoAttach(This,AutoAttach) ) 

#define CalloutFormat_get_AutoLength(This,AutoLength)	\
    ( (This)->lpVtbl -> get_AutoLength(This,AutoLength) ) 

#define CalloutFormat_get_Border(This,Border)	\
    ( (This)->lpVtbl -> get_Border(This,Border) ) 

#define CalloutFormat_put_Border(This,Border)	\
    ( (This)->lpVtbl -> put_Border(This,Border) ) 

#define CalloutFormat_get_Drop(This,Drop)	\
    ( (This)->lpVtbl -> get_Drop(This,Drop) ) 

#define CalloutFormat_get_DropType(This,DropType)	\
    ( (This)->lpVtbl -> get_DropType(This,DropType) ) 

#define CalloutFormat_get_Gap(This,Gap)	\
    ( (This)->lpVtbl -> get_Gap(This,Gap) ) 

#define CalloutFormat_put_Gap(This,Gap)	\
    ( (This)->lpVtbl -> put_Gap(This,Gap) ) 

#define CalloutFormat_get_Length(This,Length)	\
    ( (This)->lpVtbl -> get_Length(This,Length) ) 

#define CalloutFormat_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define CalloutFormat_put_Type(This,Type)	\
    ( (This)->lpVtbl -> put_Type(This,Type) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CalloutFormat_INTERFACE_DEFINED__ */


#ifndef __ColorFormat_INTERFACE_DEFINED__
#define __ColorFormat_INTERFACE_DEFINED__

/* interface ColorFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ColorFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0312-0000-0000-C000-000000000046")
    ColorFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RGB( 
            /* [retval][out] */ MsoRGBType *RGB) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RGB( 
            /* [in] */ MsoRGBType RGB) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SchemeColor( 
            /* [retval][out] */ int *SchemeColor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SchemeColor( 
            /* [in] */ int SchemeColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoColorType *Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TintAndShade( 
            /* [retval][out] */ single *pValue) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TintAndShade( 
            /* [in] */ single pValue) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ObjectThemeColor( 
            /* [retval][out] */ MsoThemeColorIndex *ObjectThemeColor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ObjectThemeColor( 
            /* [in] */ MsoThemeColorIndex ObjectThemeColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Brightness( 
            /* [retval][out] */ single *Brightness) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Brightness( 
            /* [in] */ single Brightness) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ColorFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ColorFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ColorFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ColorFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ColorFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ColorFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ColorFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ColorFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ColorFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ColorFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ColorFormat * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RGB )( 
            ColorFormat * This,
            /* [retval][out] */ MsoRGBType *RGB);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RGB )( 
            ColorFormat * This,
            /* [in] */ MsoRGBType RGB);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SchemeColor )( 
            ColorFormat * This,
            /* [retval][out] */ int *SchemeColor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SchemeColor )( 
            ColorFormat * This,
            /* [in] */ int SchemeColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ColorFormat * This,
            /* [retval][out] */ MsoColorType *Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TintAndShade )( 
            ColorFormat * This,
            /* [retval][out] */ single *pValue);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TintAndShade )( 
            ColorFormat * This,
            /* [in] */ single pValue);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectThemeColor )( 
            ColorFormat * This,
            /* [retval][out] */ MsoThemeColorIndex *ObjectThemeColor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ObjectThemeColor )( 
            ColorFormat * This,
            /* [in] */ MsoThemeColorIndex ObjectThemeColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Brightness )( 
            ColorFormat * This,
            /* [retval][out] */ single *Brightness);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Brightness )( 
            ColorFormat * This,
            /* [in] */ single Brightness);
        
        END_INTERFACE
    } ColorFormatVtbl;

    interface ColorFormat
    {
        CONST_VTBL struct ColorFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ColorFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ColorFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ColorFormat_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ColorFormat_get_RGB(This,RGB)	\
    ( (This)->lpVtbl -> get_RGB(This,RGB) ) 

#define ColorFormat_put_RGB(This,RGB)	\
    ( (This)->lpVtbl -> put_RGB(This,RGB) ) 

#define ColorFormat_get_SchemeColor(This,SchemeColor)	\
    ( (This)->lpVtbl -> get_SchemeColor(This,SchemeColor) ) 

#define ColorFormat_put_SchemeColor(This,SchemeColor)	\
    ( (This)->lpVtbl -> put_SchemeColor(This,SchemeColor) ) 

#define ColorFormat_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define ColorFormat_get_TintAndShade(This,pValue)	\
    ( (This)->lpVtbl -> get_TintAndShade(This,pValue) ) 

#define ColorFormat_put_TintAndShade(This,pValue)	\
    ( (This)->lpVtbl -> put_TintAndShade(This,pValue) ) 

#define ColorFormat_get_ObjectThemeColor(This,ObjectThemeColor)	\
    ( (This)->lpVtbl -> get_ObjectThemeColor(This,ObjectThemeColor) ) 

#define ColorFormat_put_ObjectThemeColor(This,ObjectThemeColor)	\
    ( (This)->lpVtbl -> put_ObjectThemeColor(This,ObjectThemeColor) ) 

#define ColorFormat_get_Brightness(This,Brightness)	\
    ( (This)->lpVtbl -> get_Brightness(This,Brightness) ) 

#define ColorFormat_put_Brightness(This,Brightness)	\
    ( (This)->lpVtbl -> put_Brightness(This,Brightness) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ColorFormat_INTERFACE_DEFINED__ */


#ifndef __ConnectorFormat_INTERFACE_DEFINED__
#define __ConnectorFormat_INTERFACE_DEFINED__

/* interface ConnectorFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ConnectorFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0313-0000-0000-C000-000000000046")
    ConnectorFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE BeginConnect( 
            /* [in] */ Shape *ConnectedShape,
            /* [in] */ int ConnectionSite) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE BeginDisconnect( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE EndConnect( 
            /* [in] */ Shape *ConnectedShape,
            /* [in] */ int ConnectionSite) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE EndDisconnect( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BeginConnected( 
            /* [retval][out] */ MsoTriState *BeginConnected) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BeginConnectedShape( 
            /* [retval][out] */ Shape **BeginConnectedShape) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BeginConnectionSite( 
            /* [retval][out] */ int *BeginConnectionSite) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EndConnected( 
            /* [retval][out] */ MsoTriState *EndConnected) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EndConnectedShape( 
            /* [retval][out] */ Shape **EndConnectedShape) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EndConnectionSite( 
            /* [retval][out] */ int *EndConnectionSite) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoConnectorType *Type) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ MsoConnectorType Type) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ConnectorFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ConnectorFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ConnectorFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ConnectorFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ConnectorFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ConnectorFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ConnectorFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ConnectorFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ConnectorFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ConnectorFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ConnectorFormat * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *BeginConnect )( 
            ConnectorFormat * This,
            /* [in] */ Shape *ConnectedShape,
            /* [in] */ int ConnectionSite);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *BeginDisconnect )( 
            ConnectorFormat * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *EndConnect )( 
            ConnectorFormat * This,
            /* [in] */ Shape *ConnectedShape,
            /* [in] */ int ConnectionSite);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *EndDisconnect )( 
            ConnectorFormat * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginConnected )( 
            ConnectorFormat * This,
            /* [retval][out] */ MsoTriState *BeginConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginConnectedShape )( 
            ConnectorFormat * This,
            /* [retval][out] */ Shape **BeginConnectedShape);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginConnectionSite )( 
            ConnectorFormat * This,
            /* [retval][out] */ int *BeginConnectionSite);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EndConnected )( 
            ConnectorFormat * This,
            /* [retval][out] */ MsoTriState *EndConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EndConnectedShape )( 
            ConnectorFormat * This,
            /* [retval][out] */ Shape **EndConnectedShape);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EndConnectionSite )( 
            ConnectorFormat * This,
            /* [retval][out] */ int *EndConnectionSite);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ConnectorFormat * This,
            /* [retval][out] */ MsoConnectorType *Type);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            ConnectorFormat * This,
            /* [in] */ MsoConnectorType Type);
        
        END_INTERFACE
    } ConnectorFormatVtbl;

    interface ConnectorFormat
    {
        CONST_VTBL struct ConnectorFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ConnectorFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ConnectorFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ConnectorFormat_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ConnectorFormat_BeginConnect(This,ConnectedShape,ConnectionSite)	\
    ( (This)->lpVtbl -> BeginConnect(This,ConnectedShape,ConnectionSite) ) 

#define ConnectorFormat_BeginDisconnect(This)	\
    ( (This)->lpVtbl -> BeginDisconnect(This) ) 

#define ConnectorFormat_EndConnect(This,ConnectedShape,ConnectionSite)	\
    ( (This)->lpVtbl -> EndConnect(This,ConnectedShape,ConnectionSite) ) 

#define ConnectorFormat_EndDisconnect(This)	\
    ( (This)->lpVtbl -> EndDisconnect(This) ) 

#define ConnectorFormat_get_BeginConnected(This,BeginConnected)	\
    ( (This)->lpVtbl -> get_BeginConnected(This,BeginConnected) ) 

#define ConnectorFormat_get_BeginConnectedShape(This,BeginConnectedShape)	\
    ( (This)->lpVtbl -> get_BeginConnectedShape(This,BeginConnectedShape) ) 

#define ConnectorFormat_get_BeginConnectionSite(This,BeginConnectionSite)	\
    ( (This)->lpVtbl -> get_BeginConnectionSite(This,BeginConnectionSite) ) 

#define ConnectorFormat_get_EndConnected(This,EndConnected)	\
    ( (This)->lpVtbl -> get_EndConnected(This,EndConnected) ) 

#define ConnectorFormat_get_EndConnectedShape(This,EndConnectedShape)	\
    ( (This)->lpVtbl -> get_EndConnectedShape(This,EndConnectedShape) ) 

#define ConnectorFormat_get_EndConnectionSite(This,EndConnectionSite)	\
    ( (This)->lpVtbl -> get_EndConnectionSite(This,EndConnectionSite) ) 

#define ConnectorFormat_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define ConnectorFormat_put_Type(This,Type)	\
    ( (This)->lpVtbl -> put_Type(This,Type) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ConnectorFormat_INTERFACE_DEFINED__ */


#ifndef __FillFormat_INTERFACE_DEFINED__
#define __FillFormat_INTERFACE_DEFINED__

/* interface FillFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_FillFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0314-0000-0000-C000-000000000046")
    FillFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Background( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OneColorGradient( 
            /* [in] */ MsoGradientStyle Style,
            /* [in] */ int Variant,
            /* [in] */ single Degree) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Patterned( 
            /* [in] */ MsoPatternType Pattern) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PresetGradient( 
            /* [in] */ MsoGradientStyle Style,
            /* [in] */ int Variant,
            /* [in] */ MsoPresetGradientType PresetGradientType) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PresetTextured( 
            /* [in] */ MsoPresetTexture PresetTexture) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Solid( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE TwoColorGradient( 
            /* [in] */ MsoGradientStyle Style,
            /* [in] */ int Variant) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE UserPicture( 
            /* [in] */ BSTR PictureFile) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE UserTextured( 
            /* [in] */ BSTR TextureFile) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BackColor( 
            /* [retval][out] */ ColorFormat **BackColor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BackColor( 
            /* [in] */ ColorFormat *BackColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ForeColor( 
            /* [retval][out] */ ColorFormat **ForeColor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ForeColor( 
            /* [in] */ ColorFormat *ForeColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GradientColorType( 
            /* [retval][out] */ MsoGradientColorType *GradientColorType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GradientDegree( 
            /* [retval][out] */ single *GradientDegree) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GradientStyle( 
            /* [retval][out] */ MsoGradientStyle *GradientStyle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GradientVariant( 
            /* [retval][out] */ int *GradientVariant) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Pattern( 
            /* [retval][out] */ MsoPatternType *Pattern) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetGradientType( 
            /* [retval][out] */ MsoPresetGradientType *PresetGradientType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetTexture( 
            /* [retval][out] */ MsoPresetTexture *PresetTexture) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextureName( 
            /* [retval][out] */ BSTR *TextureName) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextureType( 
            /* [retval][out] */ MsoTextureType *TextureType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Transparency( 
            /* [retval][out] */ single *Transparency) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Transparency( 
            /* [in] */ single Transparency) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoFillType *Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ MsoTriState *Visible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ MsoTriState Visible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GradientStops( 
            /* [retval][out] */ GradientStops **GradientStops) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextureOffsetX( 
            /* [retval][out] */ single *TextureOffsetX) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TextureOffsetX( 
            /* [in] */ single TextureOffsetX) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextureOffsetY( 
            /* [retval][out] */ single *TextureOffsetY) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TextureOffsetY( 
            /* [in] */ single TextureOffsetY) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextureAlignment( 
            /* [retval][out] */ MsoTextureAlignment *TextureAlignment) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TextureAlignment( 
            /* [in] */ MsoTextureAlignment TextureAlignment) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextureHorizontalScale( 
            /* [retval][out] */ single *HorizontalScale) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TextureHorizontalScale( 
            /* [in] */ single HorizontalScale) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextureVerticalScale( 
            /* [retval][out] */ single *VerticalScale) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TextureVerticalScale( 
            /* [in] */ single VerticalScale) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextureTile( 
            /* [retval][out] */ MsoTriState *TextureTile) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TextureTile( 
            /* [in] */ MsoTriState TextureTile) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RotateWithObject( 
            /* [retval][out] */ MsoTriState *RotateWithObject) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RotateWithObject( 
            /* [in] */ MsoTriState RotateWithObject) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureEffects( 
            /* [retval][out] */ PictureEffects **PictureEffects) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GradientAngle( 
            /* [retval][out] */ single *GradientAngle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_GradientAngle( 
            /* [in] */ single GradientAngle) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct FillFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            FillFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            FillFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            FillFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            FillFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            FillFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            FillFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            FillFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            FillFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            FillFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            FillFormat * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Background )( 
            FillFormat * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OneColorGradient )( 
            FillFormat * This,
            /* [in] */ MsoGradientStyle Style,
            /* [in] */ int Variant,
            /* [in] */ single Degree);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Patterned )( 
            FillFormat * This,
            /* [in] */ MsoPatternType Pattern);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PresetGradient )( 
            FillFormat * This,
            /* [in] */ MsoGradientStyle Style,
            /* [in] */ int Variant,
            /* [in] */ MsoPresetGradientType PresetGradientType);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PresetTextured )( 
            FillFormat * This,
            /* [in] */ MsoPresetTexture PresetTexture);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Solid )( 
            FillFormat * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *TwoColorGradient )( 
            FillFormat * This,
            /* [in] */ MsoGradientStyle Style,
            /* [in] */ int Variant);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *UserPicture )( 
            FillFormat * This,
            /* [in] */ BSTR PictureFile);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *UserTextured )( 
            FillFormat * This,
            /* [in] */ BSTR TextureFile);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BackColor )( 
            FillFormat * This,
            /* [retval][out] */ ColorFormat **BackColor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BackColor )( 
            FillFormat * This,
            /* [in] */ ColorFormat *BackColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ForeColor )( 
            FillFormat * This,
            /* [retval][out] */ ColorFormat **ForeColor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ForeColor )( 
            FillFormat * This,
            /* [in] */ ColorFormat *ForeColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GradientColorType )( 
            FillFormat * This,
            /* [retval][out] */ MsoGradientColorType *GradientColorType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GradientDegree )( 
            FillFormat * This,
            /* [retval][out] */ single *GradientDegree);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GradientStyle )( 
            FillFormat * This,
            /* [retval][out] */ MsoGradientStyle *GradientStyle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GradientVariant )( 
            FillFormat * This,
            /* [retval][out] */ int *GradientVariant);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Pattern )( 
            FillFormat * This,
            /* [retval][out] */ MsoPatternType *Pattern);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetGradientType )( 
            FillFormat * This,
            /* [retval][out] */ MsoPresetGradientType *PresetGradientType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetTexture )( 
            FillFormat * This,
            /* [retval][out] */ MsoPresetTexture *PresetTexture);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextureName )( 
            FillFormat * This,
            /* [retval][out] */ BSTR *TextureName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextureType )( 
            FillFormat * This,
            /* [retval][out] */ MsoTextureType *TextureType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Transparency )( 
            FillFormat * This,
            /* [retval][out] */ single *Transparency);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Transparency )( 
            FillFormat * This,
            /* [in] */ single Transparency);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            FillFormat * This,
            /* [retval][out] */ MsoFillType *Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            FillFormat * This,
            /* [retval][out] */ MsoTriState *Visible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            FillFormat * This,
            /* [in] */ MsoTriState Visible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GradientStops )( 
            FillFormat * This,
            /* [retval][out] */ GradientStops **GradientStops);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextureOffsetX )( 
            FillFormat * This,
            /* [retval][out] */ single *TextureOffsetX);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TextureOffsetX )( 
            FillFormat * This,
            /* [in] */ single TextureOffsetX);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextureOffsetY )( 
            FillFormat * This,
            /* [retval][out] */ single *TextureOffsetY);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TextureOffsetY )( 
            FillFormat * This,
            /* [in] */ single TextureOffsetY);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextureAlignment )( 
            FillFormat * This,
            /* [retval][out] */ MsoTextureAlignment *TextureAlignment);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TextureAlignment )( 
            FillFormat * This,
            /* [in] */ MsoTextureAlignment TextureAlignment);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextureHorizontalScale )( 
            FillFormat * This,
            /* [retval][out] */ single *HorizontalScale);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TextureHorizontalScale )( 
            FillFormat * This,
            /* [in] */ single HorizontalScale);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextureVerticalScale )( 
            FillFormat * This,
            /* [retval][out] */ single *VerticalScale);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TextureVerticalScale )( 
            FillFormat * This,
            /* [in] */ single VerticalScale);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextureTile )( 
            FillFormat * This,
            /* [retval][out] */ MsoTriState *TextureTile);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TextureTile )( 
            FillFormat * This,
            /* [in] */ MsoTriState TextureTile);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RotateWithObject )( 
            FillFormat * This,
            /* [retval][out] */ MsoTriState *RotateWithObject);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RotateWithObject )( 
            FillFormat * This,
            /* [in] */ MsoTriState RotateWithObject);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureEffects )( 
            FillFormat * This,
            /* [retval][out] */ PictureEffects **PictureEffects);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GradientAngle )( 
            FillFormat * This,
            /* [retval][out] */ single *GradientAngle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GradientAngle )( 
            FillFormat * This,
            /* [in] */ single GradientAngle);
        
        END_INTERFACE
    } FillFormatVtbl;

    interface FillFormat
    {
        CONST_VTBL struct FillFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define FillFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define FillFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define FillFormat_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define FillFormat_Background(This)	\
    ( (This)->lpVtbl -> Background(This) ) 

#define FillFormat_OneColorGradient(This,Style,Variant,Degree)	\
    ( (This)->lpVtbl -> OneColorGradient(This,Style,Variant,Degree) ) 

#define FillFormat_Patterned(This,Pattern)	\
    ( (This)->lpVtbl -> Patterned(This,Pattern) ) 

#define FillFormat_PresetGradient(This,Style,Variant,PresetGradientType)	\
    ( (This)->lpVtbl -> PresetGradient(This,Style,Variant,PresetGradientType) ) 

#define FillFormat_PresetTextured(This,PresetTexture)	\
    ( (This)->lpVtbl -> PresetTextured(This,PresetTexture) ) 

#define FillFormat_Solid(This)	\
    ( (This)->lpVtbl -> Solid(This) ) 

#define FillFormat_TwoColorGradient(This,Style,Variant)	\
    ( (This)->lpVtbl -> TwoColorGradient(This,Style,Variant) ) 

#define FillFormat_UserPicture(This,PictureFile)	\
    ( (This)->lpVtbl -> UserPicture(This,PictureFile) ) 

#define FillFormat_UserTextured(This,TextureFile)	\
    ( (This)->lpVtbl -> UserTextured(This,TextureFile) ) 

#define FillFormat_get_BackColor(This,BackColor)	\
    ( (This)->lpVtbl -> get_BackColor(This,BackColor) ) 

#define FillFormat_put_BackColor(This,BackColor)	\
    ( (This)->lpVtbl -> put_BackColor(This,BackColor) ) 

#define FillFormat_get_ForeColor(This,ForeColor)	\
    ( (This)->lpVtbl -> get_ForeColor(This,ForeColor) ) 

#define FillFormat_put_ForeColor(This,ForeColor)	\
    ( (This)->lpVtbl -> put_ForeColor(This,ForeColor) ) 

#define FillFormat_get_GradientColorType(This,GradientColorType)	\
    ( (This)->lpVtbl -> get_GradientColorType(This,GradientColorType) ) 

#define FillFormat_get_GradientDegree(This,GradientDegree)	\
    ( (This)->lpVtbl -> get_GradientDegree(This,GradientDegree) ) 

#define FillFormat_get_GradientStyle(This,GradientStyle)	\
    ( (This)->lpVtbl -> get_GradientStyle(This,GradientStyle) ) 

#define FillFormat_get_GradientVariant(This,GradientVariant)	\
    ( (This)->lpVtbl -> get_GradientVariant(This,GradientVariant) ) 

#define FillFormat_get_Pattern(This,Pattern)	\
    ( (This)->lpVtbl -> get_Pattern(This,Pattern) ) 

#define FillFormat_get_PresetGradientType(This,PresetGradientType)	\
    ( (This)->lpVtbl -> get_PresetGradientType(This,PresetGradientType) ) 

#define FillFormat_get_PresetTexture(This,PresetTexture)	\
    ( (This)->lpVtbl -> get_PresetTexture(This,PresetTexture) ) 

#define FillFormat_get_TextureName(This,TextureName)	\
    ( (This)->lpVtbl -> get_TextureName(This,TextureName) ) 

#define FillFormat_get_TextureType(This,TextureType)	\
    ( (This)->lpVtbl -> get_TextureType(This,TextureType) ) 

#define FillFormat_get_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> get_Transparency(This,Transparency) ) 

#define FillFormat_put_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> put_Transparency(This,Transparency) ) 

#define FillFormat_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define FillFormat_get_Visible(This,Visible)	\
    ( (This)->lpVtbl -> get_Visible(This,Visible) ) 

#define FillFormat_put_Visible(This,Visible)	\
    ( (This)->lpVtbl -> put_Visible(This,Visible) ) 

#define FillFormat_get_GradientStops(This,GradientStops)	\
    ( (This)->lpVtbl -> get_GradientStops(This,GradientStops) ) 

#define FillFormat_get_TextureOffsetX(This,TextureOffsetX)	\
    ( (This)->lpVtbl -> get_TextureOffsetX(This,TextureOffsetX) ) 

#define FillFormat_put_TextureOffsetX(This,TextureOffsetX)	\
    ( (This)->lpVtbl -> put_TextureOffsetX(This,TextureOffsetX) ) 

#define FillFormat_get_TextureOffsetY(This,TextureOffsetY)	\
    ( (This)->lpVtbl -> get_TextureOffsetY(This,TextureOffsetY) ) 

#define FillFormat_put_TextureOffsetY(This,TextureOffsetY)	\
    ( (This)->lpVtbl -> put_TextureOffsetY(This,TextureOffsetY) ) 

#define FillFormat_get_TextureAlignment(This,TextureAlignment)	\
    ( (This)->lpVtbl -> get_TextureAlignment(This,TextureAlignment) ) 

#define FillFormat_put_TextureAlignment(This,TextureAlignment)	\
    ( (This)->lpVtbl -> put_TextureAlignment(This,TextureAlignment) ) 

#define FillFormat_get_TextureHorizontalScale(This,HorizontalScale)	\
    ( (This)->lpVtbl -> get_TextureHorizontalScale(This,HorizontalScale) ) 

#define FillFormat_put_TextureHorizontalScale(This,HorizontalScale)	\
    ( (This)->lpVtbl -> put_TextureHorizontalScale(This,HorizontalScale) ) 

#define FillFormat_get_TextureVerticalScale(This,VerticalScale)	\
    ( (This)->lpVtbl -> get_TextureVerticalScale(This,VerticalScale) ) 

#define FillFormat_put_TextureVerticalScale(This,VerticalScale)	\
    ( (This)->lpVtbl -> put_TextureVerticalScale(This,VerticalScale) ) 

#define FillFormat_get_TextureTile(This,TextureTile)	\
    ( (This)->lpVtbl -> get_TextureTile(This,TextureTile) ) 

#define FillFormat_put_TextureTile(This,TextureTile)	\
    ( (This)->lpVtbl -> put_TextureTile(This,TextureTile) ) 

#define FillFormat_get_RotateWithObject(This,RotateWithObject)	\
    ( (This)->lpVtbl -> get_RotateWithObject(This,RotateWithObject) ) 

#define FillFormat_put_RotateWithObject(This,RotateWithObject)	\
    ( (This)->lpVtbl -> put_RotateWithObject(This,RotateWithObject) ) 

#define FillFormat_get_PictureEffects(This,PictureEffects)	\
    ( (This)->lpVtbl -> get_PictureEffects(This,PictureEffects) ) 

#define FillFormat_get_GradientAngle(This,GradientAngle)	\
    ( (This)->lpVtbl -> get_GradientAngle(This,GradientAngle) ) 

#define FillFormat_put_GradientAngle(This,GradientAngle)	\
    ( (This)->lpVtbl -> put_GradientAngle(This,GradientAngle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __FillFormat_INTERFACE_DEFINED__ */


#ifndef __FreeformBuilder_INTERFACE_DEFINED__
#define __FreeformBuilder_INTERFACE_DEFINED__

/* interface FreeformBuilder */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_FreeformBuilder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0315-0000-0000-C000-000000000046")
    FreeformBuilder : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddNodes( 
            /* [in] */ MsoSegmentType SegmentType,
            /* [in] */ MsoEditingType EditingType,
            /* [in] */ single X1,
            /* [in] */ single Y1,
            /* [defaultvalue][optional][in] */ single X2 = 0,
            /* [defaultvalue][optional][in] */ single Y2 = 0,
            /* [defaultvalue][optional][in] */ single X3 = 0,
            /* [defaultvalue][optional][in] */ single Y3 = 0) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ConvertToShape( 
            /* [retval][out] */ Shape **Freeform) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct FreeformBuilderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            FreeformBuilder * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            FreeformBuilder * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            FreeformBuilder * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            FreeformBuilder * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            FreeformBuilder * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            FreeformBuilder * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            FreeformBuilder * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            FreeformBuilder * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            FreeformBuilder * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            FreeformBuilder * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddNodes )( 
            FreeformBuilder * This,
            /* [in] */ MsoSegmentType SegmentType,
            /* [in] */ MsoEditingType EditingType,
            /* [in] */ single X1,
            /* [in] */ single Y1,
            /* [defaultvalue][optional][in] */ single X2,
            /* [defaultvalue][optional][in] */ single Y2,
            /* [defaultvalue][optional][in] */ single X3,
            /* [defaultvalue][optional][in] */ single Y3);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ConvertToShape )( 
            FreeformBuilder * This,
            /* [retval][out] */ Shape **Freeform);
        
        END_INTERFACE
    } FreeformBuilderVtbl;

    interface FreeformBuilder
    {
        CONST_VTBL struct FreeformBuilderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define FreeformBuilder_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define FreeformBuilder_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define FreeformBuilder_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define FreeformBuilder_AddNodes(This,SegmentType,EditingType,X1,Y1,X2,Y2,X3,Y3)	\
    ( (This)->lpVtbl -> AddNodes(This,SegmentType,EditingType,X1,Y1,X2,Y2,X3,Y3) ) 

#define FreeformBuilder_ConvertToShape(This,Freeform)	\
    ( (This)->lpVtbl -> ConvertToShape(This,Freeform) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __FreeformBuilder_INTERFACE_DEFINED__ */


#ifndef __GroupShapes_INTERFACE_DEFINED__
#define __GroupShapes_INTERFACE_DEFINED__

/* interface GroupShapes */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_GroupShapes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0316-0000-0000-C000-000000000046")
    GroupShapes : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pnShapes) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Shape **Item) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Range( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ ShapeRange **Range) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct GroupShapesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            GroupShapes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            GroupShapes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            GroupShapes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            GroupShapes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            GroupShapes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            GroupShapes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            GroupShapes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            GroupShapes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            GroupShapes * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            GroupShapes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            GroupShapes * This,
            /* [retval][out] */ int *pnShapes);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            GroupShapes * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Shape **Item);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            GroupShapes * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Range )( 
            GroupShapes * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ ShapeRange **Range);
        
        END_INTERFACE
    } GroupShapesVtbl;

    interface GroupShapes
    {
        CONST_VTBL struct GroupShapesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define GroupShapes_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define GroupShapes_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define GroupShapes_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define GroupShapes_get_Count(This,pnShapes)	\
    ( (This)->lpVtbl -> get_Count(This,pnShapes) ) 

#define GroupShapes_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> Item(This,Index,Item) ) 

#define GroupShapes_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define GroupShapes_Range(This,Index,Range)	\
    ( (This)->lpVtbl -> Range(This,Index,Range) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __GroupShapes_INTERFACE_DEFINED__ */


#ifndef __LineFormat_INTERFACE_DEFINED__
#define __LineFormat_INTERFACE_DEFINED__

/* interface LineFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_LineFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0317-0000-0000-C000-000000000046")
    LineFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BackColor( 
            /* [retval][out] */ ColorFormat **BackColor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BackColor( 
            /* [in] */ ColorFormat *BackColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BeginArrowheadLength( 
            /* [retval][out] */ MsoArrowheadLength *BeginArrowheadLength) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BeginArrowheadLength( 
            /* [in] */ MsoArrowheadLength BeginArrowheadLength) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BeginArrowheadStyle( 
            /* [retval][out] */ MsoArrowheadStyle *BeginArrowheadStyle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BeginArrowheadStyle( 
            /* [in] */ MsoArrowheadStyle BeginArrowheadStyle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BeginArrowheadWidth( 
            /* [retval][out] */ MsoArrowheadWidth *BeginArrowheadWidth) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BeginArrowheadWidth( 
            /* [in] */ MsoArrowheadWidth BeginArrowheadWidth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DashStyle( 
            /* [retval][out] */ MsoLineDashStyle *DashStyle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DashStyle( 
            /* [in] */ MsoLineDashStyle DashStyle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EndArrowheadLength( 
            /* [retval][out] */ MsoArrowheadLength *EndArrowheadLength) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EndArrowheadLength( 
            /* [in] */ MsoArrowheadLength EndArrowheadLength) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EndArrowheadStyle( 
            /* [retval][out] */ MsoArrowheadStyle *EndArrowheadStyle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EndArrowheadStyle( 
            /* [in] */ MsoArrowheadStyle EndArrowheadStyle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EndArrowheadWidth( 
            /* [retval][out] */ MsoArrowheadWidth *EndArrowheadWidth) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_EndArrowheadWidth( 
            /* [in] */ MsoArrowheadWidth EndArrowheadWidth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ForeColor( 
            /* [retval][out] */ ColorFormat **ForeColor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ForeColor( 
            /* [in] */ ColorFormat *ForeColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Pattern( 
            /* [retval][out] */ MsoPatternType *Pattern) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Pattern( 
            /* [in] */ MsoPatternType Pattern) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Style( 
            /* [retval][out] */ MsoLineStyle *Style) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Style( 
            /* [in] */ MsoLineStyle Style) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Transparency( 
            /* [retval][out] */ single *Transparency) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Transparency( 
            /* [in] */ single Transparency) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ MsoTriState *Visible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ MsoTriState Visible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Weight( 
            /* [retval][out] */ single *Weight) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Weight( 
            /* [in] */ single Weight) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_InsetPen( 
            /* [retval][out] */ MsoTriState *InsetPen) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_InsetPen( 
            /* [in] */ MsoTriState InsetPen) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct LineFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            LineFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            LineFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            LineFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            LineFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            LineFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            LineFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            LineFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            LineFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            LineFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            LineFormat * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BackColor )( 
            LineFormat * This,
            /* [retval][out] */ ColorFormat **BackColor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BackColor )( 
            LineFormat * This,
            /* [in] */ ColorFormat *BackColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginArrowheadLength )( 
            LineFormat * This,
            /* [retval][out] */ MsoArrowheadLength *BeginArrowheadLength);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BeginArrowheadLength )( 
            LineFormat * This,
            /* [in] */ MsoArrowheadLength BeginArrowheadLength);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginArrowheadStyle )( 
            LineFormat * This,
            /* [retval][out] */ MsoArrowheadStyle *BeginArrowheadStyle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BeginArrowheadStyle )( 
            LineFormat * This,
            /* [in] */ MsoArrowheadStyle BeginArrowheadStyle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BeginArrowheadWidth )( 
            LineFormat * This,
            /* [retval][out] */ MsoArrowheadWidth *BeginArrowheadWidth);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BeginArrowheadWidth )( 
            LineFormat * This,
            /* [in] */ MsoArrowheadWidth BeginArrowheadWidth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DashStyle )( 
            LineFormat * This,
            /* [retval][out] */ MsoLineDashStyle *DashStyle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DashStyle )( 
            LineFormat * This,
            /* [in] */ MsoLineDashStyle DashStyle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EndArrowheadLength )( 
            LineFormat * This,
            /* [retval][out] */ MsoArrowheadLength *EndArrowheadLength);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EndArrowheadLength )( 
            LineFormat * This,
            /* [in] */ MsoArrowheadLength EndArrowheadLength);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EndArrowheadStyle )( 
            LineFormat * This,
            /* [retval][out] */ MsoArrowheadStyle *EndArrowheadStyle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EndArrowheadStyle )( 
            LineFormat * This,
            /* [in] */ MsoArrowheadStyle EndArrowheadStyle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EndArrowheadWidth )( 
            LineFormat * This,
            /* [retval][out] */ MsoArrowheadWidth *EndArrowheadWidth);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EndArrowheadWidth )( 
            LineFormat * This,
            /* [in] */ MsoArrowheadWidth EndArrowheadWidth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ForeColor )( 
            LineFormat * This,
            /* [retval][out] */ ColorFormat **ForeColor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ForeColor )( 
            LineFormat * This,
            /* [in] */ ColorFormat *ForeColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Pattern )( 
            LineFormat * This,
            /* [retval][out] */ MsoPatternType *Pattern);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Pattern )( 
            LineFormat * This,
            /* [in] */ MsoPatternType Pattern);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Style )( 
            LineFormat * This,
            /* [retval][out] */ MsoLineStyle *Style);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Style )( 
            LineFormat * This,
            /* [in] */ MsoLineStyle Style);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Transparency )( 
            LineFormat * This,
            /* [retval][out] */ single *Transparency);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Transparency )( 
            LineFormat * This,
            /* [in] */ single Transparency);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            LineFormat * This,
            /* [retval][out] */ MsoTriState *Visible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            LineFormat * This,
            /* [in] */ MsoTriState Visible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Weight )( 
            LineFormat * This,
            /* [retval][out] */ single *Weight);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Weight )( 
            LineFormat * This,
            /* [in] */ single Weight);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InsetPen )( 
            LineFormat * This,
            /* [retval][out] */ MsoTriState *InsetPen);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InsetPen )( 
            LineFormat * This,
            /* [in] */ MsoTriState InsetPen);
        
        END_INTERFACE
    } LineFormatVtbl;

    interface LineFormat
    {
        CONST_VTBL struct LineFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define LineFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define LineFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define LineFormat_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define LineFormat_get_BackColor(This,BackColor)	\
    ( (This)->lpVtbl -> get_BackColor(This,BackColor) ) 

#define LineFormat_put_BackColor(This,BackColor)	\
    ( (This)->lpVtbl -> put_BackColor(This,BackColor) ) 

#define LineFormat_get_BeginArrowheadLength(This,BeginArrowheadLength)	\
    ( (This)->lpVtbl -> get_BeginArrowheadLength(This,BeginArrowheadLength) ) 

#define LineFormat_put_BeginArrowheadLength(This,BeginArrowheadLength)	\
    ( (This)->lpVtbl -> put_BeginArrowheadLength(This,BeginArrowheadLength) ) 

#define LineFormat_get_BeginArrowheadStyle(This,BeginArrowheadStyle)	\
    ( (This)->lpVtbl -> get_BeginArrowheadStyle(This,BeginArrowheadStyle) ) 

#define LineFormat_put_BeginArrowheadStyle(This,BeginArrowheadStyle)	\
    ( (This)->lpVtbl -> put_BeginArrowheadStyle(This,BeginArrowheadStyle) ) 

#define LineFormat_get_BeginArrowheadWidth(This,BeginArrowheadWidth)	\
    ( (This)->lpVtbl -> get_BeginArrowheadWidth(This,BeginArrowheadWidth) ) 

#define LineFormat_put_BeginArrowheadWidth(This,BeginArrowheadWidth)	\
    ( (This)->lpVtbl -> put_BeginArrowheadWidth(This,BeginArrowheadWidth) ) 

#define LineFormat_get_DashStyle(This,DashStyle)	\
    ( (This)->lpVtbl -> get_DashStyle(This,DashStyle) ) 

#define LineFormat_put_DashStyle(This,DashStyle)	\
    ( (This)->lpVtbl -> put_DashStyle(This,DashStyle) ) 

#define LineFormat_get_EndArrowheadLength(This,EndArrowheadLength)	\
    ( (This)->lpVtbl -> get_EndArrowheadLength(This,EndArrowheadLength) ) 

#define LineFormat_put_EndArrowheadLength(This,EndArrowheadLength)	\
    ( (This)->lpVtbl -> put_EndArrowheadLength(This,EndArrowheadLength) ) 

#define LineFormat_get_EndArrowheadStyle(This,EndArrowheadStyle)	\
    ( (This)->lpVtbl -> get_EndArrowheadStyle(This,EndArrowheadStyle) ) 

#define LineFormat_put_EndArrowheadStyle(This,EndArrowheadStyle)	\
    ( (This)->lpVtbl -> put_EndArrowheadStyle(This,EndArrowheadStyle) ) 

#define LineFormat_get_EndArrowheadWidth(This,EndArrowheadWidth)	\
    ( (This)->lpVtbl -> get_EndArrowheadWidth(This,EndArrowheadWidth) ) 

#define LineFormat_put_EndArrowheadWidth(This,EndArrowheadWidth)	\
    ( (This)->lpVtbl -> put_EndArrowheadWidth(This,EndArrowheadWidth) ) 

#define LineFormat_get_ForeColor(This,ForeColor)	\
    ( (This)->lpVtbl -> get_ForeColor(This,ForeColor) ) 

#define LineFormat_put_ForeColor(This,ForeColor)	\
    ( (This)->lpVtbl -> put_ForeColor(This,ForeColor) ) 

#define LineFormat_get_Pattern(This,Pattern)	\
    ( (This)->lpVtbl -> get_Pattern(This,Pattern) ) 

#define LineFormat_put_Pattern(This,Pattern)	\
    ( (This)->lpVtbl -> put_Pattern(This,Pattern) ) 

#define LineFormat_get_Style(This,Style)	\
    ( (This)->lpVtbl -> get_Style(This,Style) ) 

#define LineFormat_put_Style(This,Style)	\
    ( (This)->lpVtbl -> put_Style(This,Style) ) 

#define LineFormat_get_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> get_Transparency(This,Transparency) ) 

#define LineFormat_put_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> put_Transparency(This,Transparency) ) 

#define LineFormat_get_Visible(This,Visible)	\
    ( (This)->lpVtbl -> get_Visible(This,Visible) ) 

#define LineFormat_put_Visible(This,Visible)	\
    ( (This)->lpVtbl -> put_Visible(This,Visible) ) 

#define LineFormat_get_Weight(This,Weight)	\
    ( (This)->lpVtbl -> get_Weight(This,Weight) ) 

#define LineFormat_put_Weight(This,Weight)	\
    ( (This)->lpVtbl -> put_Weight(This,Weight) ) 

#define LineFormat_get_InsetPen(This,InsetPen)	\
    ( (This)->lpVtbl -> get_InsetPen(This,InsetPen) ) 

#define LineFormat_put_InsetPen(This,InsetPen)	\
    ( (This)->lpVtbl -> put_InsetPen(This,InsetPen) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __LineFormat_INTERFACE_DEFINED__ */


#ifndef __ShapeNode_INTERFACE_DEFINED__
#define __ShapeNode_INTERFACE_DEFINED__

/* interface ShapeNode */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ShapeNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0318-0000-0000-C000-000000000046")
    ShapeNode : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EditingType( 
            /* [retval][out] */ MsoEditingType *EditingType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Points( 
            /* [retval][out] */ VARIANT *Points) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SegmentType( 
            /* [retval][out] */ MsoSegmentType *SegmentType) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ShapeNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ShapeNode * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ShapeNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ShapeNode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ShapeNode * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ShapeNode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ShapeNode * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ShapeNode * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ShapeNode * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ShapeNode * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ShapeNode * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EditingType )( 
            ShapeNode * This,
            /* [retval][out] */ MsoEditingType *EditingType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Points )( 
            ShapeNode * This,
            /* [retval][out] */ VARIANT *Points);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SegmentType )( 
            ShapeNode * This,
            /* [retval][out] */ MsoSegmentType *SegmentType);
        
        END_INTERFACE
    } ShapeNodeVtbl;

    interface ShapeNode
    {
        CONST_VTBL struct ShapeNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ShapeNode_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ShapeNode_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ShapeNode_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ShapeNode_get_EditingType(This,EditingType)	\
    ( (This)->lpVtbl -> get_EditingType(This,EditingType) ) 

#define ShapeNode_get_Points(This,Points)	\
    ( (This)->lpVtbl -> get_Points(This,Points) ) 

#define ShapeNode_get_SegmentType(This,SegmentType)	\
    ( (This)->lpVtbl -> get_SegmentType(This,SegmentType) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ShapeNode_INTERFACE_DEFINED__ */


#ifndef __ShapeNodes_INTERFACE_DEFINED__
#define __ShapeNodes_INTERFACE_DEFINED__

/* interface ShapeNodes */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ShapeNodes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0319-0000-0000-C000-000000000046")
    ShapeNodes : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ ShapeNode **Item) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ int Index) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ int Index,
            /* [in] */ MsoSegmentType SegmentType,
            /* [in] */ MsoEditingType EditingType,
            /* [in] */ single X1,
            /* [in] */ single Y1,
            /* [defaultvalue][optional][in] */ single X2 = 0,
            /* [defaultvalue][optional][in] */ single Y2 = 0,
            /* [defaultvalue][optional][in] */ single X3 = 0,
            /* [defaultvalue][optional][in] */ single Y3 = 0) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetEditingType( 
            /* [in] */ int Index,
            /* [in] */ MsoEditingType EditingType) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetPosition( 
            /* [in] */ int Index,
            /* [in] */ single X1,
            /* [in] */ single Y1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetSegmentType( 
            /* [in] */ int Index,
            /* [in] */ MsoSegmentType SegmentType) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ShapeNodesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ShapeNodes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ShapeNodes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ShapeNodes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ShapeNodes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ShapeNodes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ShapeNodes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ShapeNodes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ShapeNodes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ShapeNodes * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ShapeNodes * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ShapeNodes * This,
            /* [retval][out] */ int *Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            ShapeNodes * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ ShapeNode **Item);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            ShapeNodes * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ShapeNodes * This,
            /* [in] */ int Index);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            ShapeNodes * This,
            /* [in] */ int Index,
            /* [in] */ MsoSegmentType SegmentType,
            /* [in] */ MsoEditingType EditingType,
            /* [in] */ single X1,
            /* [in] */ single Y1,
            /* [defaultvalue][optional][in] */ single X2,
            /* [defaultvalue][optional][in] */ single Y2,
            /* [defaultvalue][optional][in] */ single X3,
            /* [defaultvalue][optional][in] */ single Y3);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetEditingType )( 
            ShapeNodes * This,
            /* [in] */ int Index,
            /* [in] */ MsoEditingType EditingType);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetPosition )( 
            ShapeNodes * This,
            /* [in] */ int Index,
            /* [in] */ single X1,
            /* [in] */ single Y1);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetSegmentType )( 
            ShapeNodes * This,
            /* [in] */ int Index,
            /* [in] */ MsoSegmentType SegmentType);
        
        END_INTERFACE
    } ShapeNodesVtbl;

    interface ShapeNodes
    {
        CONST_VTBL struct ShapeNodesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ShapeNodes_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ShapeNodes_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ShapeNodes_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ShapeNodes_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define ShapeNodes_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> Item(This,Index,Item) ) 

#define ShapeNodes_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define ShapeNodes_Delete(This,Index)	\
    ( (This)->lpVtbl -> Delete(This,Index) ) 

#define ShapeNodes_Insert(This,Index,SegmentType,EditingType,X1,Y1,X2,Y2,X3,Y3)	\
    ( (This)->lpVtbl -> Insert(This,Index,SegmentType,EditingType,X1,Y1,X2,Y2,X3,Y3) ) 

#define ShapeNodes_SetEditingType(This,Index,EditingType)	\
    ( (This)->lpVtbl -> SetEditingType(This,Index,EditingType) ) 

#define ShapeNodes_SetPosition(This,Index,X1,Y1)	\
    ( (This)->lpVtbl -> SetPosition(This,Index,X1,Y1) ) 

#define ShapeNodes_SetSegmentType(This,Index,SegmentType)	\
    ( (This)->lpVtbl -> SetSegmentType(This,Index,SegmentType) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ShapeNodes_INTERFACE_DEFINED__ */


#ifndef __PictureFormat_INTERFACE_DEFINED__
#define __PictureFormat_INTERFACE_DEFINED__

/* interface PictureFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_PictureFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C031A-0000-0000-C000-000000000046")
    PictureFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementBrightness( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementContrast( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Brightness( 
            /* [retval][out] */ single *Brightness) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Brightness( 
            /* [in] */ single Brightness) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ColorType( 
            /* [retval][out] */ MsoPictureColorType *ColorType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ColorType( 
            /* [in] */ MsoPictureColorType ColorType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Contrast( 
            /* [retval][out] */ single *Contrast) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Contrast( 
            /* [in] */ single Contrast) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CropBottom( 
            /* [retval][out] */ single *CropBottom) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CropBottom( 
            /* [in] */ single CropBottom) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CropLeft( 
            /* [retval][out] */ single *CropLeft) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CropLeft( 
            /* [in] */ single CropLeft) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CropRight( 
            /* [retval][out] */ single *CropRight) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CropRight( 
            /* [in] */ single CropRight) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CropTop( 
            /* [retval][out] */ single *CropTop) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CropTop( 
            /* [in] */ single CropTop) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TransparencyColor( 
            /* [retval][out] */ MsoRGBType *TransparencyColor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TransparencyColor( 
            /* [in] */ MsoRGBType TransparencyColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TransparentBackground( 
            /* [retval][out] */ MsoTriState *TransparentBackground) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TransparentBackground( 
            /* [in] */ MsoTriState TransparentBackground) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Crop( 
            /* [retval][out] */ Crop **Crop) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PictureFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PictureFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PictureFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PictureFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PictureFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PictureFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PictureFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PictureFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PictureFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PictureFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            PictureFormat * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementBrightness )( 
            PictureFormat * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementContrast )( 
            PictureFormat * This,
            /* [in] */ single Increment);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Brightness )( 
            PictureFormat * This,
            /* [retval][out] */ single *Brightness);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Brightness )( 
            PictureFormat * This,
            /* [in] */ single Brightness);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorType )( 
            PictureFormat * This,
            /* [retval][out] */ MsoPictureColorType *ColorType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorType )( 
            PictureFormat * This,
            /* [in] */ MsoPictureColorType ColorType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Contrast )( 
            PictureFormat * This,
            /* [retval][out] */ single *Contrast);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Contrast )( 
            PictureFormat * This,
            /* [in] */ single Contrast);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CropBottom )( 
            PictureFormat * This,
            /* [retval][out] */ single *CropBottom);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CropBottom )( 
            PictureFormat * This,
            /* [in] */ single CropBottom);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CropLeft )( 
            PictureFormat * This,
            /* [retval][out] */ single *CropLeft);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CropLeft )( 
            PictureFormat * This,
            /* [in] */ single CropLeft);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CropRight )( 
            PictureFormat * This,
            /* [retval][out] */ single *CropRight);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CropRight )( 
            PictureFormat * This,
            /* [in] */ single CropRight);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CropTop )( 
            PictureFormat * This,
            /* [retval][out] */ single *CropTop);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CropTop )( 
            PictureFormat * This,
            /* [in] */ single CropTop);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransparencyColor )( 
            PictureFormat * This,
            /* [retval][out] */ MsoRGBType *TransparencyColor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransparencyColor )( 
            PictureFormat * This,
            /* [in] */ MsoRGBType TransparencyColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TransparentBackground )( 
            PictureFormat * This,
            /* [retval][out] */ MsoTriState *TransparentBackground);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TransparentBackground )( 
            PictureFormat * This,
            /* [in] */ MsoTriState TransparentBackground);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Crop )( 
            PictureFormat * This,
            /* [retval][out] */ Crop **Crop);
        
        END_INTERFACE
    } PictureFormatVtbl;

    interface PictureFormat
    {
        CONST_VTBL struct PictureFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define PictureFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PictureFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PictureFormat_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define PictureFormat_IncrementBrightness(This,Increment)	\
    ( (This)->lpVtbl -> IncrementBrightness(This,Increment) ) 

#define PictureFormat_IncrementContrast(This,Increment)	\
    ( (This)->lpVtbl -> IncrementContrast(This,Increment) ) 

#define PictureFormat_get_Brightness(This,Brightness)	\
    ( (This)->lpVtbl -> get_Brightness(This,Brightness) ) 

#define PictureFormat_put_Brightness(This,Brightness)	\
    ( (This)->lpVtbl -> put_Brightness(This,Brightness) ) 

#define PictureFormat_get_ColorType(This,ColorType)	\
    ( (This)->lpVtbl -> get_ColorType(This,ColorType) ) 

#define PictureFormat_put_ColorType(This,ColorType)	\
    ( (This)->lpVtbl -> put_ColorType(This,ColorType) ) 

#define PictureFormat_get_Contrast(This,Contrast)	\
    ( (This)->lpVtbl -> get_Contrast(This,Contrast) ) 

#define PictureFormat_put_Contrast(This,Contrast)	\
    ( (This)->lpVtbl -> put_Contrast(This,Contrast) ) 

#define PictureFormat_get_CropBottom(This,CropBottom)	\
    ( (This)->lpVtbl -> get_CropBottom(This,CropBottom) ) 

#define PictureFormat_put_CropBottom(This,CropBottom)	\
    ( (This)->lpVtbl -> put_CropBottom(This,CropBottom) ) 

#define PictureFormat_get_CropLeft(This,CropLeft)	\
    ( (This)->lpVtbl -> get_CropLeft(This,CropLeft) ) 

#define PictureFormat_put_CropLeft(This,CropLeft)	\
    ( (This)->lpVtbl -> put_CropLeft(This,CropLeft) ) 

#define PictureFormat_get_CropRight(This,CropRight)	\
    ( (This)->lpVtbl -> get_CropRight(This,CropRight) ) 

#define PictureFormat_put_CropRight(This,CropRight)	\
    ( (This)->lpVtbl -> put_CropRight(This,CropRight) ) 

#define PictureFormat_get_CropTop(This,CropTop)	\
    ( (This)->lpVtbl -> get_CropTop(This,CropTop) ) 

#define PictureFormat_put_CropTop(This,CropTop)	\
    ( (This)->lpVtbl -> put_CropTop(This,CropTop) ) 

#define PictureFormat_get_TransparencyColor(This,TransparencyColor)	\
    ( (This)->lpVtbl -> get_TransparencyColor(This,TransparencyColor) ) 

#define PictureFormat_put_TransparencyColor(This,TransparencyColor)	\
    ( (This)->lpVtbl -> put_TransparencyColor(This,TransparencyColor) ) 

#define PictureFormat_get_TransparentBackground(This,TransparentBackground)	\
    ( (This)->lpVtbl -> get_TransparentBackground(This,TransparentBackground) ) 

#define PictureFormat_put_TransparentBackground(This,TransparentBackground)	\
    ( (This)->lpVtbl -> put_TransparentBackground(This,TransparentBackground) ) 

#define PictureFormat_get_Crop(This,Crop)	\
    ( (This)->lpVtbl -> get_Crop(This,Crop) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PictureFormat_INTERFACE_DEFINED__ */


#ifndef __ShadowFormat_INTERFACE_DEFINED__
#define __ShadowFormat_INTERFACE_DEFINED__

/* interface ShadowFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ShadowFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C031B-0000-0000-C000-000000000046")
    ShadowFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementOffsetX( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementOffsetY( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ForeColor( 
            /* [retval][out] */ ColorFormat **ForeColor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ForeColor( 
            /* [in] */ ColorFormat *ForeColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Obscured( 
            /* [retval][out] */ MsoTriState *Obscured) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Obscured( 
            /* [in] */ MsoTriState Obscured) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_OffsetX( 
            /* [retval][out] */ single *OffsetX) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_OffsetX( 
            /* [in] */ single OffsetX) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_OffsetY( 
            /* [retval][out] */ single *OffsetY) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_OffsetY( 
            /* [in] */ single OffsetY) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Transparency( 
            /* [retval][out] */ single *Transparency) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Transparency( 
            /* [in] */ single Transparency) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoShadowType *Type) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ MsoShadowType Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ MsoTriState *Visible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ MsoTriState Visible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Style( 
            /* [retval][out] */ MsoShadowStyle *ShadowStyle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Style( 
            /* [in] */ MsoShadowStyle ShadowStyle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Blur( 
            /* [retval][out] */ single *Blur) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Blur( 
            /* [in] */ single Blur) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ single *Size) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Size( 
            /* [in] */ single Size) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RotateWithShape( 
            /* [retval][out] */ MsoTriState *RotateWithShape) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RotateWithShape( 
            /* [in] */ MsoTriState RotateWithShape) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ShadowFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ShadowFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ShadowFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ShadowFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ShadowFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ShadowFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ShadowFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ShadowFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ShadowFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ShadowFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ShadowFormat * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementOffsetX )( 
            ShadowFormat * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementOffsetY )( 
            ShadowFormat * This,
            /* [in] */ single Increment);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ForeColor )( 
            ShadowFormat * This,
            /* [retval][out] */ ColorFormat **ForeColor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ForeColor )( 
            ShadowFormat * This,
            /* [in] */ ColorFormat *ForeColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Obscured )( 
            ShadowFormat * This,
            /* [retval][out] */ MsoTriState *Obscured);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Obscured )( 
            ShadowFormat * This,
            /* [in] */ MsoTriState Obscured);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OffsetX )( 
            ShadowFormat * This,
            /* [retval][out] */ single *OffsetX);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OffsetX )( 
            ShadowFormat * This,
            /* [in] */ single OffsetX);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OffsetY )( 
            ShadowFormat * This,
            /* [retval][out] */ single *OffsetY);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OffsetY )( 
            ShadowFormat * This,
            /* [in] */ single OffsetY);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Transparency )( 
            ShadowFormat * This,
            /* [retval][out] */ single *Transparency);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Transparency )( 
            ShadowFormat * This,
            /* [in] */ single Transparency);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ShadowFormat * This,
            /* [retval][out] */ MsoShadowType *Type);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            ShadowFormat * This,
            /* [in] */ MsoShadowType Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            ShadowFormat * This,
            /* [retval][out] */ MsoTriState *Visible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            ShadowFormat * This,
            /* [in] */ MsoTriState Visible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Style )( 
            ShadowFormat * This,
            /* [retval][out] */ MsoShadowStyle *ShadowStyle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Style )( 
            ShadowFormat * This,
            /* [in] */ MsoShadowStyle ShadowStyle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Blur )( 
            ShadowFormat * This,
            /* [retval][out] */ single *Blur);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Blur )( 
            ShadowFormat * This,
            /* [in] */ single Blur);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            ShadowFormat * This,
            /* [retval][out] */ single *Size);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Size )( 
            ShadowFormat * This,
            /* [in] */ single Size);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RotateWithShape )( 
            ShadowFormat * This,
            /* [retval][out] */ MsoTriState *RotateWithShape);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RotateWithShape )( 
            ShadowFormat * This,
            /* [in] */ MsoTriState RotateWithShape);
        
        END_INTERFACE
    } ShadowFormatVtbl;

    interface ShadowFormat
    {
        CONST_VTBL struct ShadowFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ShadowFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ShadowFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ShadowFormat_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ShadowFormat_IncrementOffsetX(This,Increment)	\
    ( (This)->lpVtbl -> IncrementOffsetX(This,Increment) ) 

#define ShadowFormat_IncrementOffsetY(This,Increment)	\
    ( (This)->lpVtbl -> IncrementOffsetY(This,Increment) ) 

#define ShadowFormat_get_ForeColor(This,ForeColor)	\
    ( (This)->lpVtbl -> get_ForeColor(This,ForeColor) ) 

#define ShadowFormat_put_ForeColor(This,ForeColor)	\
    ( (This)->lpVtbl -> put_ForeColor(This,ForeColor) ) 

#define ShadowFormat_get_Obscured(This,Obscured)	\
    ( (This)->lpVtbl -> get_Obscured(This,Obscured) ) 

#define ShadowFormat_put_Obscured(This,Obscured)	\
    ( (This)->lpVtbl -> put_Obscured(This,Obscured) ) 

#define ShadowFormat_get_OffsetX(This,OffsetX)	\
    ( (This)->lpVtbl -> get_OffsetX(This,OffsetX) ) 

#define ShadowFormat_put_OffsetX(This,OffsetX)	\
    ( (This)->lpVtbl -> put_OffsetX(This,OffsetX) ) 

#define ShadowFormat_get_OffsetY(This,OffsetY)	\
    ( (This)->lpVtbl -> get_OffsetY(This,OffsetY) ) 

#define ShadowFormat_put_OffsetY(This,OffsetY)	\
    ( (This)->lpVtbl -> put_OffsetY(This,OffsetY) ) 

#define ShadowFormat_get_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> get_Transparency(This,Transparency) ) 

#define ShadowFormat_put_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> put_Transparency(This,Transparency) ) 

#define ShadowFormat_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define ShadowFormat_put_Type(This,Type)	\
    ( (This)->lpVtbl -> put_Type(This,Type) ) 

#define ShadowFormat_get_Visible(This,Visible)	\
    ( (This)->lpVtbl -> get_Visible(This,Visible) ) 

#define ShadowFormat_put_Visible(This,Visible)	\
    ( (This)->lpVtbl -> put_Visible(This,Visible) ) 

#define ShadowFormat_get_Style(This,ShadowStyle)	\
    ( (This)->lpVtbl -> get_Style(This,ShadowStyle) ) 

#define ShadowFormat_put_Style(This,ShadowStyle)	\
    ( (This)->lpVtbl -> put_Style(This,ShadowStyle) ) 

#define ShadowFormat_get_Blur(This,Blur)	\
    ( (This)->lpVtbl -> get_Blur(This,Blur) ) 

#define ShadowFormat_put_Blur(This,Blur)	\
    ( (This)->lpVtbl -> put_Blur(This,Blur) ) 

#define ShadowFormat_get_Size(This,Size)	\
    ( (This)->lpVtbl -> get_Size(This,Size) ) 

#define ShadowFormat_put_Size(This,Size)	\
    ( (This)->lpVtbl -> put_Size(This,Size) ) 

#define ShadowFormat_get_RotateWithShape(This,RotateWithShape)	\
    ( (This)->lpVtbl -> get_RotateWithShape(This,RotateWithShape) ) 

#define ShadowFormat_put_RotateWithShape(This,RotateWithShape)	\
    ( (This)->lpVtbl -> put_RotateWithShape(This,RotateWithShape) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ShadowFormat_INTERFACE_DEFINED__ */


#ifndef __Script_INTERFACE_DEFINED__
#define __Script_INTERFACE_DEFINED__

/* interface Script */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_Script;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0341-0000-0000-C000-000000000046")
    Script : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Extended( 
            /* [retval][out] */ BSTR *Extended) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Extended( 
            /* [in] */ BSTR Extended) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *Id) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Id( 
            /* [in] */ BSTR Id) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Language( 
            /* [retval][out] */ MsoScriptLanguage *Language) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Language( 
            /* [in] */ MsoScriptLanguage Language) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Location( 
            /* [retval][out] */ MsoScriptLocation *Location) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Shape( 
            /* [retval][out] */ IDispatch **Object) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ScriptText( 
            /* [retval][out] */ BSTR *Script) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ScriptText( 
            /* [in] */ BSTR Script) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ScriptVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Script * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Script * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Script * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Script * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Script * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Script * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Script * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Script * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Script * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Script * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Extended )( 
            Script * This,
            /* [retval][out] */ BSTR *Extended);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Extended )( 
            Script * This,
            /* [in] */ BSTR Extended);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            Script * This,
            /* [retval][out] */ BSTR *Id);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Id )( 
            Script * This,
            /* [in] */ BSTR Id);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Language )( 
            Script * This,
            /* [retval][out] */ MsoScriptLanguage *Language);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Language )( 
            Script * This,
            /* [in] */ MsoScriptLanguage Language);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Location )( 
            Script * This,
            /* [retval][out] */ MsoScriptLocation *Location);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            Script * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shape )( 
            Script * This,
            /* [retval][out] */ IDispatch **Object);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScriptText )( 
            Script * This,
            /* [retval][out] */ BSTR *Script);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScriptText )( 
            Script * This,
            /* [in] */ BSTR Script);
        
        END_INTERFACE
    } ScriptVtbl;

    interface Script
    {
        CONST_VTBL struct ScriptVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define Script_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Script_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Script_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define Script_get_Extended(This,Extended)	\
    ( (This)->lpVtbl -> get_Extended(This,Extended) ) 

#define Script_put_Extended(This,Extended)	\
    ( (This)->lpVtbl -> put_Extended(This,Extended) ) 

#define Script_get_Id(This,Id)	\
    ( (This)->lpVtbl -> get_Id(This,Id) ) 

#define Script_put_Id(This,Id)	\
    ( (This)->lpVtbl -> put_Id(This,Id) ) 

#define Script_get_Language(This,Language)	\
    ( (This)->lpVtbl -> get_Language(This,Language) ) 

#define Script_put_Language(This,Language)	\
    ( (This)->lpVtbl -> put_Language(This,Language) ) 

#define Script_get_Location(This,Location)	\
    ( (This)->lpVtbl -> get_Location(This,Location) ) 

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

#define Script_get_Shape(This,Object)	\
    ( (This)->lpVtbl -> get_Shape(This,Object) ) 

#define Script_get_ScriptText(This,Script)	\
    ( (This)->lpVtbl -> get_ScriptText(This,Script) ) 

#define Script_put_ScriptText(This,Script)	\
    ( (This)->lpVtbl -> put_ScriptText(This,Script) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Script_INTERFACE_DEFINED__ */


#ifndef __Scripts_INTERFACE_DEFINED__
#define __Scripts_INTERFACE_DEFINED__

/* interface Scripts */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_Scripts;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0340-0000-0000-C000-000000000046")
    Scripts : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *Count) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Script **Item) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [optional][in] */ IDispatch *Anchor,
            /* [defaultvalue][optional][in] */ MsoScriptLocation Location,
            /* [defaultvalue][optional][in] */ MsoScriptLanguage Language,
            /* [defaultvalue][optional][in] */ BSTR Id,
            /* [defaultvalue][optional][in] */ BSTR Extended,
            /* [defaultvalue][optional][in] */ BSTR ScriptText,
            /* [retval][out] */ Script **Add) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ScriptsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Scripts * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Scripts * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Scripts * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Scripts * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Scripts * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Scripts * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Scripts * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Scripts * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Scripts * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Scripts * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            Scripts * This,
            /* [retval][out] */ long *Count);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            Scripts * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            Scripts * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Script **Item);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            Scripts * This,
            /* [optional][in] */ IDispatch *Anchor,
            /* [defaultvalue][optional][in] */ MsoScriptLocation Location,
            /* [defaultvalue][optional][in] */ MsoScriptLanguage Language,
            /* [defaultvalue][optional][in] */ BSTR Id,
            /* [defaultvalue][optional][in] */ BSTR Extended,
            /* [defaultvalue][optional][in] */ BSTR ScriptText,
            /* [retval][out] */ Script **Add);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            Scripts * This);
        
        END_INTERFACE
    } ScriptsVtbl;

    interface Scripts
    {
        CONST_VTBL struct ScriptsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define Scripts_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Scripts_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Scripts_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define Scripts_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define Scripts_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define Scripts_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> Item(This,Index,Item) ) 

#define Scripts_Add(This,Anchor,Location,Language,Id,Extended,ScriptText,Add)	\
    ( (This)->lpVtbl -> Add(This,Anchor,Location,Language,Id,Extended,ScriptText,Add) ) 

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Scripts_INTERFACE_DEFINED__ */


#ifndef __Shape_INTERFACE_DEFINED__
#define __Shape_INTERFACE_DEFINED__

/* interface Shape */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_Shape;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C031C-0000-0000-C000-000000000046")
    Shape : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Apply( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Duplicate( 
            /* [retval][out] */ Shape **Duplicate) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Flip( 
            /* [in] */ MsoFlipCmd FlipCmd) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementLeft( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementRotation( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementTop( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PickUp( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RerouteConnections( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ScaleHeight( 
            /* [in] */ single Factor,
            /* [in] */ MsoTriState RelativeToOriginalSize,
            /* [defaultvalue][optional][in] */ MsoScaleFrom fScale = msoScaleFromTopLeft) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ScaleWidth( 
            /* [in] */ single Factor,
            /* [in] */ MsoTriState RelativeToOriginalSize,
            /* [defaultvalue][optional][in] */ MsoScaleFrom fScale = msoScaleFromTopLeft) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [optional][in] */ VARIANT Replace) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetShapesDefaultProperties( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Ungroup( 
            /* [retval][out] */ ShapeRange **Ungroup) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ZOrder( 
            /* [in] */ MsoZOrderCmd ZOrderCmd) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Adjustments( 
            /* [retval][out] */ Adjustments **Adjustments) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoShapeType( 
            /* [retval][out] */ MsoAutoShapeType *AutoShapeType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoShapeType( 
            /* [in] */ MsoAutoShapeType AutoShapeType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BlackWhiteMode( 
            /* [retval][out] */ MsoBlackWhiteMode *BlackWhiteMode) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BlackWhiteMode( 
            /* [in] */ MsoBlackWhiteMode BlackWhiteMode) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Callout( 
            /* [retval][out] */ CalloutFormat **Callout) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectionSiteCount( 
            /* [retval][out] */ int *ConnectionSiteCount) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Connector( 
            /* [retval][out] */ MsoTriState *Connector) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectorFormat( 
            /* [retval][out] */ ConnectorFormat **ConnectorFormat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ FillFormat **Fill) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GroupItems( 
            /* [retval][out] */ GroupShapes **GroupItems) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ single *Height) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ single Height) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HorizontalFlip( 
            /* [retval][out] */ MsoTriState *HorizontalFlip) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ single *Left) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ single Left) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Line( 
            /* [retval][out] */ LineFormat **Line) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LockAspectRatio( 
            /* [retval][out] */ MsoTriState *LockAspectRatio) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LockAspectRatio( 
            /* [in] */ MsoTriState LockAspectRatio) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Nodes( 
            /* [retval][out] */ ShapeNodes **Nodes) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ single *Rotation) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ single Rotation) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureFormat( 
            /* [retval][out] */ PictureFormat **Picture) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Shadow( 
            /* [retval][out] */ ShadowFormat **Shadow) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextEffect( 
            /* [retval][out] */ TextEffectFormat **TextEffect) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextFrame( 
            /* [retval][out] */ TextFrame **TextFrame) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ThreeD( 
            /* [retval][out] */ ThreeDFormat **ThreeD) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ single *Top) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ single Top) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoShapeType *Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_VerticalFlip( 
            /* [retval][out] */ MsoTriState *VerticalFlip) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Vertices( 
            /* [retval][out] */ VARIANT *Vertices) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ MsoTriState *Visible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ MsoTriState Visible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ single *Width) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ single Width) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ZOrderPosition( 
            /* [retval][out] */ int *ZOrderPosition) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Script( 
            /* [retval][out] */ Script **Script) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AlternativeText( 
            /* [retval][out] */ BSTR *AlternativeText) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AlternativeText( 
            /* [in] */ BSTR AlternativeText) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_HasDiagram( 
            /* [retval][out] */ MsoTriState *pHasDiagram) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Diagram( 
            /* [retval][out] */ IMsoDiagram **Diagram) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_HasDiagramNode( 
            /* [retval][out] */ MsoTriState *pHasDiagram) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_DiagramNode( 
            /* [retval][out] */ DiagramNode **DiagramNode) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Child( 
            /* [retval][out] */ MsoTriState *Child) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ParentGroup( 
            /* [retval][out] */ Shape **Parent) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_CanvasItems( 
            /* [retval][out] */ CanvasShapes **CanvasShapes) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ int *pid) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE CanvasCropLeft( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE CanvasCropTop( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE CanvasCropRight( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE CanvasCropBottom( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_RTF( 
            /* [in] */ BSTR rhs) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextFrame2( 
            /* [retval][out] */ TextFrame2 **Frame) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Cut( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Copy( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasChart( 
            /* [retval][out] */ MsoTriState *pHasChart) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Chart( 
            /* [retval][out] */ IMsoChart **Chart) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShapeStyle( 
            /* [retval][out] */ MsoShapeStyleIndex *ShapeStyle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShapeStyle( 
            /* [in] */ MsoShapeStyleIndex ShapeStyle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BackgroundStyle( 
            /* [retval][out] */ MsoBackgroundStyleIndex *BackgroundStyle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BackgroundStyle( 
            /* [in] */ MsoBackgroundStyleIndex BackgroundStyle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SoftEdge( 
            /* [retval][out] */ SoftEdgeFormat **SoftEdge) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Glow( 
            /* [retval][out] */ GlowFormat **Glow) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Reflection( 
            /* [retval][out] */ ReflectionFormat **Reflection) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasSmartArt( 
            /* [retval][out] */ MsoTriState *HasSmartArt) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SmartArt( 
            /* [retval][out] */ SmartArt **SmartArt) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ConvertTextToSmartArt( 
            /* [in] */ SmartArtLayout *Layout) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *Title) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR Title) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ShapeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Shape * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Shape * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Shape * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Shape * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Shape * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Shape * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Shape * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Shape * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Shape * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Shape * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Apply )( 
            Shape * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            Shape * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Duplicate )( 
            Shape * This,
            /* [retval][out] */ Shape **Duplicate);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Flip )( 
            Shape * This,
            /* [in] */ MsoFlipCmd FlipCmd);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementLeft )( 
            Shape * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementRotation )( 
            Shape * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementTop )( 
            Shape * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PickUp )( 
            Shape * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RerouteConnections )( 
            Shape * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ScaleHeight )( 
            Shape * This,
            /* [in] */ single Factor,
            /* [in] */ MsoTriState RelativeToOriginalSize,
            /* [defaultvalue][optional][in] */ MsoScaleFrom fScale);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ScaleWidth )( 
            Shape * This,
            /* [in] */ single Factor,
            /* [in] */ MsoTriState RelativeToOriginalSize,
            /* [defaultvalue][optional][in] */ MsoScaleFrom fScale);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            Shape * This,
            /* [optional][in] */ VARIANT Replace);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetShapesDefaultProperties )( 
            Shape * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Ungroup )( 
            Shape * This,
            /* [retval][out] */ ShapeRange **Ungroup);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ZOrder )( 
            Shape * This,
            /* [in] */ MsoZOrderCmd ZOrderCmd);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Adjustments )( 
            Shape * This,
            /* [retval][out] */ Adjustments **Adjustments);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoShapeType )( 
            Shape * This,
            /* [retval][out] */ MsoAutoShapeType *AutoShapeType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoShapeType )( 
            Shape * This,
            /* [in] */ MsoAutoShapeType AutoShapeType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BlackWhiteMode )( 
            Shape * This,
            /* [retval][out] */ MsoBlackWhiteMode *BlackWhiteMode);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BlackWhiteMode )( 
            Shape * This,
            /* [in] */ MsoBlackWhiteMode BlackWhiteMode);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Callout )( 
            Shape * This,
            /* [retval][out] */ CalloutFormat **Callout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionSiteCount )( 
            Shape * This,
            /* [retval][out] */ int *ConnectionSiteCount);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connector )( 
            Shape * This,
            /* [retval][out] */ MsoTriState *Connector);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectorFormat )( 
            Shape * This,
            /* [retval][out] */ ConnectorFormat **ConnectorFormat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            Shape * This,
            /* [retval][out] */ FillFormat **Fill);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GroupItems )( 
            Shape * This,
            /* [retval][out] */ GroupShapes **GroupItems);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            Shape * This,
            /* [retval][out] */ single *Height);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            Shape * This,
            /* [in] */ single Height);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalFlip )( 
            Shape * This,
            /* [retval][out] */ MsoTriState *HorizontalFlip);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            Shape * This,
            /* [retval][out] */ single *Left);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            Shape * This,
            /* [in] */ single Left);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Line )( 
            Shape * This,
            /* [retval][out] */ LineFormat **Line);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LockAspectRatio )( 
            Shape * This,
            /* [retval][out] */ MsoTriState *LockAspectRatio);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LockAspectRatio )( 
            Shape * This,
            /* [in] */ MsoTriState LockAspectRatio);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            Shape * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            Shape * This,
            /* [in] */ BSTR Name);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Nodes )( 
            Shape * This,
            /* [retval][out] */ ShapeNodes **Nodes);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            Shape * This,
            /* [retval][out] */ single *Rotation);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            Shape * This,
            /* [in] */ single Rotation);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureFormat )( 
            Shape * This,
            /* [retval][out] */ PictureFormat **Picture);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shadow )( 
            Shape * This,
            /* [retval][out] */ ShadowFormat **Shadow);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextEffect )( 
            Shape * This,
            /* [retval][out] */ TextEffectFormat **TextEffect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextFrame )( 
            Shape * This,
            /* [retval][out] */ TextFrame **TextFrame);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ThreeD )( 
            Shape * This,
            /* [retval][out] */ ThreeDFormat **ThreeD);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            Shape * This,
            /* [retval][out] */ single *Top);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            Shape * This,
            /* [in] */ single Top);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            Shape * This,
            /* [retval][out] */ MsoShapeType *Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalFlip )( 
            Shape * This,
            /* [retval][out] */ MsoTriState *VerticalFlip);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Vertices )( 
            Shape * This,
            /* [retval][out] */ VARIANT *Vertices);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            Shape * This,
            /* [retval][out] */ MsoTriState *Visible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            Shape * This,
            /* [in] */ MsoTriState Visible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            Shape * This,
            /* [retval][out] */ single *Width);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            Shape * This,
            /* [in] */ single Width);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ZOrderPosition )( 
            Shape * This,
            /* [retval][out] */ int *ZOrderPosition);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Script )( 
            Shape * This,
            /* [retval][out] */ Script **Script);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AlternativeText )( 
            Shape * This,
            /* [retval][out] */ BSTR *AlternativeText);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AlternativeText )( 
            Shape * This,
            /* [in] */ BSTR AlternativeText);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasDiagram )( 
            Shape * This,
            /* [retval][out] */ MsoTriState *pHasDiagram);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Diagram )( 
            Shape * This,
            /* [retval][out] */ IMsoDiagram **Diagram);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasDiagramNode )( 
            Shape * This,
            /* [retval][out] */ MsoTriState *pHasDiagram);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DiagramNode )( 
            Shape * This,
            /* [retval][out] */ DiagramNode **DiagramNode);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Child )( 
            Shape * This,
            /* [retval][out] */ MsoTriState *Child);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ParentGroup )( 
            Shape * This,
            /* [retval][out] */ Shape **Parent);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanvasItems )( 
            Shape * This,
            /* [retval][out] */ CanvasShapes **CanvasShapes);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            Shape * This,
            /* [retval][out] */ int *pid);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *CanvasCropLeft )( 
            Shape * This,
            /* [in] */ single Increment);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *CanvasCropTop )( 
            Shape * This,
            /* [in] */ single Increment);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *CanvasCropRight )( 
            Shape * This,
            /* [in] */ single Increment);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *CanvasCropBottom )( 
            Shape * This,
            /* [in] */ single Increment);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RTF )( 
            Shape * This,
            /* [in] */ BSTR rhs);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextFrame2 )( 
            Shape * This,
            /* [retval][out] */ TextFrame2 **Frame);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Cut )( 
            Shape * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            Shape * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasChart )( 
            Shape * This,
            /* [retval][out] */ MsoTriState *pHasChart);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Chart )( 
            Shape * This,
            /* [retval][out] */ IMsoChart **Chart);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShapeStyle )( 
            Shape * This,
            /* [retval][out] */ MsoShapeStyleIndex *ShapeStyle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShapeStyle )( 
            Shape * This,
            /* [in] */ MsoShapeStyleIndex ShapeStyle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundStyle )( 
            Shape * This,
            /* [retval][out] */ MsoBackgroundStyleIndex *BackgroundStyle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundStyle )( 
            Shape * This,
            /* [in] */ MsoBackgroundStyleIndex BackgroundStyle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SoftEdge )( 
            Shape * This,
            /* [retval][out] */ SoftEdgeFormat **SoftEdge);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Glow )( 
            Shape * This,
            /* [retval][out] */ GlowFormat **Glow);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Reflection )( 
            Shape * This,
            /* [retval][out] */ ReflectionFormat **Reflection);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasSmartArt )( 
            Shape * This,
            /* [retval][out] */ MsoTriState *HasSmartArt);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SmartArt )( 
            Shape * This,
            /* [retval][out] */ SmartArt **SmartArt);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ConvertTextToSmartArt )( 
            Shape * This,
            /* [in] */ SmartArtLayout *Layout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            Shape * This,
            /* [retval][out] */ BSTR *Title);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            Shape * This,
            /* [in] */ BSTR Title);
        
        END_INTERFACE
    } ShapeVtbl;

    interface Shape
    {
        CONST_VTBL struct ShapeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define Shape_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Shape_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Shape_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define Shape_Apply(This)	\
    ( (This)->lpVtbl -> Apply(This) ) 

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

#define Shape_Duplicate(This,Duplicate)	\
    ( (This)->lpVtbl -> Duplicate(This,Duplicate) ) 

#define Shape_Flip(This,FlipCmd)	\
    ( (This)->lpVtbl -> Flip(This,FlipCmd) ) 

#define Shape_IncrementLeft(This,Increment)	\
    ( (This)->lpVtbl -> IncrementLeft(This,Increment) ) 

#define Shape_IncrementRotation(This,Increment)	\
    ( (This)->lpVtbl -> IncrementRotation(This,Increment) ) 

#define Shape_IncrementTop(This,Increment)	\
    ( (This)->lpVtbl -> IncrementTop(This,Increment) ) 

#define Shape_PickUp(This)	\
    ( (This)->lpVtbl -> PickUp(This) ) 

#define Shape_RerouteConnections(This)	\
    ( (This)->lpVtbl -> RerouteConnections(This) ) 

#define Shape_ScaleHeight(This,Factor,RelativeToOriginalSize,fScale)	\
    ( (This)->lpVtbl -> ScaleHeight(This,Factor,RelativeToOriginalSize,fScale) ) 

#define Shape_ScaleWidth(This,Factor,RelativeToOriginalSize,fScale)	\
    ( (This)->lpVtbl -> ScaleWidth(This,Factor,RelativeToOriginalSize,fScale) ) 

#define Shape_Select(This,Replace)	\
    ( (This)->lpVtbl -> Select(This,Replace) ) 

#define Shape_SetShapesDefaultProperties(This)	\
    ( (This)->lpVtbl -> SetShapesDefaultProperties(This) ) 

#define Shape_Ungroup(This,Ungroup)	\
    ( (This)->lpVtbl -> Ungroup(This,Ungroup) ) 

#define Shape_ZOrder(This,ZOrderCmd)	\
    ( (This)->lpVtbl -> ZOrder(This,ZOrderCmd) ) 

#define Shape_get_Adjustments(This,Adjustments)	\
    ( (This)->lpVtbl -> get_Adjustments(This,Adjustments) ) 

#define Shape_get_AutoShapeType(This,AutoShapeType)	\
    ( (This)->lpVtbl -> get_AutoShapeType(This,AutoShapeType) ) 

#define Shape_put_AutoShapeType(This,AutoShapeType)	\
    ( (This)->lpVtbl -> put_AutoShapeType(This,AutoShapeType) ) 

#define Shape_get_BlackWhiteMode(This,BlackWhiteMode)	\
    ( (This)->lpVtbl -> get_BlackWhiteMode(This,BlackWhiteMode) ) 

#define Shape_put_BlackWhiteMode(This,BlackWhiteMode)	\
    ( (This)->lpVtbl -> put_BlackWhiteMode(This,BlackWhiteMode) ) 

#define Shape_get_Callout(This,Callout)	\
    ( (This)->lpVtbl -> get_Callout(This,Callout) ) 

#define Shape_get_ConnectionSiteCount(This,ConnectionSiteCount)	\
    ( (This)->lpVtbl -> get_ConnectionSiteCount(This,ConnectionSiteCount) ) 

#define Shape_get_Connector(This,Connector)	\
    ( (This)->lpVtbl -> get_Connector(This,Connector) ) 

#define Shape_get_ConnectorFormat(This,ConnectorFormat)	\
    ( (This)->lpVtbl -> get_ConnectorFormat(This,ConnectorFormat) ) 

#define Shape_get_Fill(This,Fill)	\
    ( (This)->lpVtbl -> get_Fill(This,Fill) ) 

#define Shape_get_GroupItems(This,GroupItems)	\
    ( (This)->lpVtbl -> get_GroupItems(This,GroupItems) ) 

#define Shape_get_Height(This,Height)	\
    ( (This)->lpVtbl -> get_Height(This,Height) ) 

#define Shape_put_Height(This,Height)	\
    ( (This)->lpVtbl -> put_Height(This,Height) ) 

#define Shape_get_HorizontalFlip(This,HorizontalFlip)	\
    ( (This)->lpVtbl -> get_HorizontalFlip(This,HorizontalFlip) ) 

#define Shape_get_Left(This,Left)	\
    ( (This)->lpVtbl -> get_Left(This,Left) ) 

#define Shape_put_Left(This,Left)	\
    ( (This)->lpVtbl -> put_Left(This,Left) ) 

#define Shape_get_Line(This,Line)	\
    ( (This)->lpVtbl -> get_Line(This,Line) ) 

#define Shape_get_LockAspectRatio(This,LockAspectRatio)	\
    ( (This)->lpVtbl -> get_LockAspectRatio(This,LockAspectRatio) ) 

#define Shape_put_LockAspectRatio(This,LockAspectRatio)	\
    ( (This)->lpVtbl -> put_LockAspectRatio(This,LockAspectRatio) ) 

#define Shape_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define Shape_put_Name(This,Name)	\
    ( (This)->lpVtbl -> put_Name(This,Name) ) 

#define Shape_get_Nodes(This,Nodes)	\
    ( (This)->lpVtbl -> get_Nodes(This,Nodes) ) 

#define Shape_get_Rotation(This,Rotation)	\
    ( (This)->lpVtbl -> get_Rotation(This,Rotation) ) 

#define Shape_put_Rotation(This,Rotation)	\
    ( (This)->lpVtbl -> put_Rotation(This,Rotation) ) 

#define Shape_get_PictureFormat(This,Picture)	\
    ( (This)->lpVtbl -> get_PictureFormat(This,Picture) ) 

#define Shape_get_Shadow(This,Shadow)	\
    ( (This)->lpVtbl -> get_Shadow(This,Shadow) ) 

#define Shape_get_TextEffect(This,TextEffect)	\
    ( (This)->lpVtbl -> get_TextEffect(This,TextEffect) ) 

#define Shape_get_TextFrame(This,TextFrame)	\
    ( (This)->lpVtbl -> get_TextFrame(This,TextFrame) ) 

#define Shape_get_ThreeD(This,ThreeD)	\
    ( (This)->lpVtbl -> get_ThreeD(This,ThreeD) ) 

#define Shape_get_Top(This,Top)	\
    ( (This)->lpVtbl -> get_Top(This,Top) ) 

#define Shape_put_Top(This,Top)	\
    ( (This)->lpVtbl -> put_Top(This,Top) ) 

#define Shape_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define Shape_get_VerticalFlip(This,VerticalFlip)	\
    ( (This)->lpVtbl -> get_VerticalFlip(This,VerticalFlip) ) 

#define Shape_get_Vertices(This,Vertices)	\
    ( (This)->lpVtbl -> get_Vertices(This,Vertices) ) 

#define Shape_get_Visible(This,Visible)	\
    ( (This)->lpVtbl -> get_Visible(This,Visible) ) 

#define Shape_put_Visible(This,Visible)	\
    ( (This)->lpVtbl -> put_Visible(This,Visible) ) 

#define Shape_get_Width(This,Width)	\
    ( (This)->lpVtbl -> get_Width(This,Width) ) 

#define Shape_put_Width(This,Width)	\
    ( (This)->lpVtbl -> put_Width(This,Width) ) 

#define Shape_get_ZOrderPosition(This,ZOrderPosition)	\
    ( (This)->lpVtbl -> get_ZOrderPosition(This,ZOrderPosition) ) 

#define Shape_get_Script(This,Script)	\
    ( (This)->lpVtbl -> get_Script(This,Script) ) 

#define Shape_get_AlternativeText(This,AlternativeText)	\
    ( (This)->lpVtbl -> get_AlternativeText(This,AlternativeText) ) 

#define Shape_put_AlternativeText(This,AlternativeText)	\
    ( (This)->lpVtbl -> put_AlternativeText(This,AlternativeText) ) 

#define Shape_get_HasDiagram(This,pHasDiagram)	\
    ( (This)->lpVtbl -> get_HasDiagram(This,pHasDiagram) ) 

#define Shape_get_Diagram(This,Diagram)	\
    ( (This)->lpVtbl -> get_Diagram(This,Diagram) ) 

#define Shape_get_HasDiagramNode(This,pHasDiagram)	\
    ( (This)->lpVtbl -> get_HasDiagramNode(This,pHasDiagram) ) 

#define Shape_get_DiagramNode(This,DiagramNode)	\
    ( (This)->lpVtbl -> get_DiagramNode(This,DiagramNode) ) 

#define Shape_get_Child(This,Child)	\
    ( (This)->lpVtbl -> get_Child(This,Child) ) 

#define Shape_get_ParentGroup(This,Parent)	\
    ( (This)->lpVtbl -> get_ParentGroup(This,Parent) ) 

#define Shape_get_CanvasItems(This,CanvasShapes)	\
    ( (This)->lpVtbl -> get_CanvasItems(This,CanvasShapes) ) 

#define Shape_get_Id(This,pid)	\
    ( (This)->lpVtbl -> get_Id(This,pid) ) 

#define Shape_CanvasCropLeft(This,Increment)	\
    ( (This)->lpVtbl -> CanvasCropLeft(This,Increment) ) 

#define Shape_CanvasCropTop(This,Increment)	\
    ( (This)->lpVtbl -> CanvasCropTop(This,Increment) ) 

#define Shape_CanvasCropRight(This,Increment)	\
    ( (This)->lpVtbl -> CanvasCropRight(This,Increment) ) 

#define Shape_CanvasCropBottom(This,Increment)	\
    ( (This)->lpVtbl -> CanvasCropBottom(This,Increment) ) 

#define Shape_put_RTF(This,rhs)	\
    ( (This)->lpVtbl -> put_RTF(This,rhs) ) 

#define Shape_get_TextFrame2(This,Frame)	\
    ( (This)->lpVtbl -> get_TextFrame2(This,Frame) ) 

#define Shape_Cut(This)	\
    ( (This)->lpVtbl -> Cut(This) ) 

#define Shape_Copy(This)	\
    ( (This)->lpVtbl -> Copy(This) ) 

#define Shape_get_HasChart(This,pHasChart)	\
    ( (This)->lpVtbl -> get_HasChart(This,pHasChart) ) 

#define Shape_get_Chart(This,Chart)	\
    ( (This)->lpVtbl -> get_Chart(This,Chart) ) 

#define Shape_get_ShapeStyle(This,ShapeStyle)	\
    ( (This)->lpVtbl -> get_ShapeStyle(This,ShapeStyle) ) 

#define Shape_put_ShapeStyle(This,ShapeStyle)	\
    ( (This)->lpVtbl -> put_ShapeStyle(This,ShapeStyle) ) 

#define Shape_get_BackgroundStyle(This,BackgroundStyle)	\
    ( (This)->lpVtbl -> get_BackgroundStyle(This,BackgroundStyle) ) 

#define Shape_put_BackgroundStyle(This,BackgroundStyle)	\
    ( (This)->lpVtbl -> put_BackgroundStyle(This,BackgroundStyle) ) 

#define Shape_get_SoftEdge(This,SoftEdge)	\
    ( (This)->lpVtbl -> get_SoftEdge(This,SoftEdge) ) 

#define Shape_get_Glow(This,Glow)	\
    ( (This)->lpVtbl -> get_Glow(This,Glow) ) 

#define Shape_get_Reflection(This,Reflection)	\
    ( (This)->lpVtbl -> get_Reflection(This,Reflection) ) 

#define Shape_get_HasSmartArt(This,HasSmartArt)	\
    ( (This)->lpVtbl -> get_HasSmartArt(This,HasSmartArt) ) 

#define Shape_get_SmartArt(This,SmartArt)	\
    ( (This)->lpVtbl -> get_SmartArt(This,SmartArt) ) 

#define Shape_ConvertTextToSmartArt(This,Layout)	\
    ( (This)->lpVtbl -> ConvertTextToSmartArt(This,Layout) ) 

#define Shape_get_Title(This,Title)	\
    ( (This)->lpVtbl -> get_Title(This,Title) ) 

#define Shape_put_Title(This,Title)	\
    ( (This)->lpVtbl -> put_Title(This,Title) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Shape_INTERFACE_DEFINED__ */


#ifndef __ShapeRange_INTERFACE_DEFINED__
#define __ShapeRange_INTERFACE_DEFINED__

/* interface ShapeRange */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ShapeRange;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C031D-0000-0000-C000-000000000046")
    ShapeRange : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Shape **Item) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Align( 
            /* [in] */ MsoAlignCmd AlignCmd,
            /* [in] */ MsoTriState RelativeTo) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Apply( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Distribute( 
            /* [in] */ MsoDistributeCmd DistributeCmd,
            /* [in] */ MsoTriState RelativeTo) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Duplicate( 
            /* [retval][out] */ ShapeRange **Duplicate) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Flip( 
            /* [in] */ MsoFlipCmd FlipCmd) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementLeft( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementRotation( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementTop( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Group( 
            /* [retval][out] */ Shape **Group) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PickUp( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Regroup( 
            /* [retval][out] */ Shape **Regroup) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RerouteConnections( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ScaleHeight( 
            /* [in] */ single Factor,
            /* [in] */ MsoTriState RelativeToOriginalSize,
            /* [defaultvalue][optional][in] */ MsoScaleFrom fScale = msoScaleFromTopLeft) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ScaleWidth( 
            /* [in] */ single Factor,
            /* [in] */ MsoTriState RelativeToOriginalSize,
            /* [defaultvalue][optional][in] */ MsoScaleFrom fScale = msoScaleFromTopLeft) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [optional][in] */ VARIANT Replace) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetShapesDefaultProperties( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Ungroup( 
            /* [retval][out] */ ShapeRange **Ungroup) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ZOrder( 
            /* [in] */ MsoZOrderCmd ZOrderCmd) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Adjustments( 
            /* [retval][out] */ Adjustments **Adjustments) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoShapeType( 
            /* [retval][out] */ MsoAutoShapeType *AutoShapeType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoShapeType( 
            /* [in] */ MsoAutoShapeType AutoShapeType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BlackWhiteMode( 
            /* [retval][out] */ MsoBlackWhiteMode *BlackWhiteMode) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BlackWhiteMode( 
            /* [in] */ MsoBlackWhiteMode BlackWhiteMode) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Callout( 
            /* [retval][out] */ CalloutFormat **Callout) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectionSiteCount( 
            /* [retval][out] */ int *ConnectionSiteCount) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Connector( 
            /* [retval][out] */ MsoTriState *Connector) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectorFormat( 
            /* [retval][out] */ ConnectorFormat **ConnectorFormat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ FillFormat **Fill) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GroupItems( 
            /* [retval][out] */ GroupShapes **GroupItems) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ single *Height) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ single Height) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HorizontalFlip( 
            /* [retval][out] */ MsoTriState *HorizontalFlip) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ single *Left) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ single Left) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Line( 
            /* [retval][out] */ LineFormat **Line) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LockAspectRatio( 
            /* [retval][out] */ MsoTriState *LockAspectRatio) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LockAspectRatio( 
            /* [in] */ MsoTriState LockAspectRatio) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Nodes( 
            /* [retval][out] */ ShapeNodes **Nodes) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ single *Rotation) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ single Rotation) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureFormat( 
            /* [retval][out] */ PictureFormat **Picture) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Shadow( 
            /* [retval][out] */ ShadowFormat **Shadow) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextEffect( 
            /* [retval][out] */ TextEffectFormat **TextEffect) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextFrame( 
            /* [retval][out] */ TextFrame **TextFrame) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ThreeD( 
            /* [retval][out] */ ThreeDFormat **ThreeD) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ single *Top) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ single Top) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoShapeType *Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_VerticalFlip( 
            /* [retval][out] */ MsoTriState *VerticalFlip) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Vertices( 
            /* [retval][out] */ VARIANT *Vertices) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ MsoTriState *Visible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ MsoTriState Visible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ single *Width) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ single Width) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ZOrderPosition( 
            /* [retval][out] */ int *ZOrderPosition) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Script( 
            /* [retval][out] */ Script **Script) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AlternativeText( 
            /* [retval][out] */ BSTR *AlternativeText) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AlternativeText( 
            /* [in] */ BSTR AlternativeText) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_HasDiagram( 
            /* [retval][out] */ MsoTriState *pHasDiagram) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Diagram( 
            /* [retval][out] */ IMsoDiagram **Diagram) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_HasDiagramNode( 
            /* [retval][out] */ MsoTriState *pHasDiagram) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_DiagramNode( 
            /* [retval][out] */ DiagramNode **DiagramNode) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Child( 
            /* [retval][out] */ MsoTriState *Child) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ParentGroup( 
            /* [retval][out] */ Shape **Parent) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_CanvasItems( 
            /* [retval][out] */ CanvasShapes **CanvasShapes) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ int *pid) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE CanvasCropLeft( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE CanvasCropTop( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE CanvasCropRight( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE CanvasCropBottom( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_RTF( 
            /* [in] */ BSTR rhs) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextFrame2( 
            /* [retval][out] */ TextFrame2 **Frame) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Cut( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Copy( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasChart( 
            /* [retval][out] */ MsoTriState *pHasChart) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Chart( 
            /* [retval][out] */ IMsoChart **Chart) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShapeStyle( 
            /* [retval][out] */ MsoShapeStyleIndex *ShapeStyle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShapeStyle( 
            /* [in] */ MsoShapeStyleIndex ShapeStyle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BackgroundStyle( 
            /* [retval][out] */ MsoBackgroundStyleIndex *BackgroundStyle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BackgroundStyle( 
            /* [in] */ MsoBackgroundStyleIndex BackgroundStyle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SoftEdge( 
            /* [retval][out] */ SoftEdgeFormat **SoftEdge) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Glow( 
            /* [retval][out] */ GlowFormat **Glow) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Reflection( 
            /* [retval][out] */ ReflectionFormat **Reflection) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *Title) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR Title) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE MergeShapes( 
            /* [in] */ MsoMergeCmd MergeCmd,
            /* [defaultvalue][optional][in] */ Shape *PrimaryShape = 0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ShapeRangeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ShapeRange * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ShapeRange * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ShapeRange * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ShapeRange * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ShapeRange * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ShapeRange * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ShapeRange * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ShapeRange * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ShapeRange * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ShapeRange * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ShapeRange * This,
            /* [retval][out] */ int *Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            ShapeRange * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Shape **Item);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            ShapeRange * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Align )( 
            ShapeRange * This,
            /* [in] */ MsoAlignCmd AlignCmd,
            /* [in] */ MsoTriState RelativeTo);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Apply )( 
            ShapeRange * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ShapeRange * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Distribute )( 
            ShapeRange * This,
            /* [in] */ MsoDistributeCmd DistributeCmd,
            /* [in] */ MsoTriState RelativeTo);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Duplicate )( 
            ShapeRange * This,
            /* [retval][out] */ ShapeRange **Duplicate);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Flip )( 
            ShapeRange * This,
            /* [in] */ MsoFlipCmd FlipCmd);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementLeft )( 
            ShapeRange * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementRotation )( 
            ShapeRange * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementTop )( 
            ShapeRange * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Group )( 
            ShapeRange * This,
            /* [retval][out] */ Shape **Group);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PickUp )( 
            ShapeRange * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Regroup )( 
            ShapeRange * This,
            /* [retval][out] */ Shape **Regroup);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RerouteConnections )( 
            ShapeRange * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ScaleHeight )( 
            ShapeRange * This,
            /* [in] */ single Factor,
            /* [in] */ MsoTriState RelativeToOriginalSize,
            /* [defaultvalue][optional][in] */ MsoScaleFrom fScale);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ScaleWidth )( 
            ShapeRange * This,
            /* [in] */ single Factor,
            /* [in] */ MsoTriState RelativeToOriginalSize,
            /* [defaultvalue][optional][in] */ MsoScaleFrom fScale);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            ShapeRange * This,
            /* [optional][in] */ VARIANT Replace);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetShapesDefaultProperties )( 
            ShapeRange * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Ungroup )( 
            ShapeRange * This,
            /* [retval][out] */ ShapeRange **Ungroup);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ZOrder )( 
            ShapeRange * This,
            /* [in] */ MsoZOrderCmd ZOrderCmd);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Adjustments )( 
            ShapeRange * This,
            /* [retval][out] */ Adjustments **Adjustments);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoShapeType )( 
            ShapeRange * This,
            /* [retval][out] */ MsoAutoShapeType *AutoShapeType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoShapeType )( 
            ShapeRange * This,
            /* [in] */ MsoAutoShapeType AutoShapeType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BlackWhiteMode )( 
            ShapeRange * This,
            /* [retval][out] */ MsoBlackWhiteMode *BlackWhiteMode);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BlackWhiteMode )( 
            ShapeRange * This,
            /* [in] */ MsoBlackWhiteMode BlackWhiteMode);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Callout )( 
            ShapeRange * This,
            /* [retval][out] */ CalloutFormat **Callout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionSiteCount )( 
            ShapeRange * This,
            /* [retval][out] */ int *ConnectionSiteCount);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connector )( 
            ShapeRange * This,
            /* [retval][out] */ MsoTriState *Connector);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectorFormat )( 
            ShapeRange * This,
            /* [retval][out] */ ConnectorFormat **ConnectorFormat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            ShapeRange * This,
            /* [retval][out] */ FillFormat **Fill);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GroupItems )( 
            ShapeRange * This,
            /* [retval][out] */ GroupShapes **GroupItems);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            ShapeRange * This,
            /* [retval][out] */ single *Height);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            ShapeRange * This,
            /* [in] */ single Height);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalFlip )( 
            ShapeRange * This,
            /* [retval][out] */ MsoTriState *HorizontalFlip);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            ShapeRange * This,
            /* [retval][out] */ single *Left);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            ShapeRange * This,
            /* [in] */ single Left);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Line )( 
            ShapeRange * This,
            /* [retval][out] */ LineFormat **Line);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LockAspectRatio )( 
            ShapeRange * This,
            /* [retval][out] */ MsoTriState *LockAspectRatio);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LockAspectRatio )( 
            ShapeRange * This,
            /* [in] */ MsoTriState LockAspectRatio);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ShapeRange * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ShapeRange * This,
            /* [in] */ BSTR Name);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Nodes )( 
            ShapeRange * This,
            /* [retval][out] */ ShapeNodes **Nodes);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            ShapeRange * This,
            /* [retval][out] */ single *Rotation);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            ShapeRange * This,
            /* [in] */ single Rotation);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureFormat )( 
            ShapeRange * This,
            /* [retval][out] */ PictureFormat **Picture);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shadow )( 
            ShapeRange * This,
            /* [retval][out] */ ShadowFormat **Shadow);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextEffect )( 
            ShapeRange * This,
            /* [retval][out] */ TextEffectFormat **TextEffect);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextFrame )( 
            ShapeRange * This,
            /* [retval][out] */ TextFrame **TextFrame);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ThreeD )( 
            ShapeRange * This,
            /* [retval][out] */ ThreeDFormat **ThreeD);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            ShapeRange * This,
            /* [retval][out] */ single *Top);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            ShapeRange * This,
            /* [in] */ single Top);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ShapeRange * This,
            /* [retval][out] */ MsoShapeType *Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalFlip )( 
            ShapeRange * This,
            /* [retval][out] */ MsoTriState *VerticalFlip);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Vertices )( 
            ShapeRange * This,
            /* [retval][out] */ VARIANT *Vertices);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            ShapeRange * This,
            /* [retval][out] */ MsoTriState *Visible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            ShapeRange * This,
            /* [in] */ MsoTriState Visible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            ShapeRange * This,
            /* [retval][out] */ single *Width);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            ShapeRange * This,
            /* [in] */ single Width);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ZOrderPosition )( 
            ShapeRange * This,
            /* [retval][out] */ int *ZOrderPosition);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Script )( 
            ShapeRange * This,
            /* [retval][out] */ Script **Script);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AlternativeText )( 
            ShapeRange * This,
            /* [retval][out] */ BSTR *AlternativeText);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AlternativeText )( 
            ShapeRange * This,
            /* [in] */ BSTR AlternativeText);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasDiagram )( 
            ShapeRange * This,
            /* [retval][out] */ MsoTriState *pHasDiagram);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Diagram )( 
            ShapeRange * This,
            /* [retval][out] */ IMsoDiagram **Diagram);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasDiagramNode )( 
            ShapeRange * This,
            /* [retval][out] */ MsoTriState *pHasDiagram);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DiagramNode )( 
            ShapeRange * This,
            /* [retval][out] */ DiagramNode **DiagramNode);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Child )( 
            ShapeRange * This,
            /* [retval][out] */ MsoTriState *Child);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ParentGroup )( 
            ShapeRange * This,
            /* [retval][out] */ Shape **Parent);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanvasItems )( 
            ShapeRange * This,
            /* [retval][out] */ CanvasShapes **CanvasShapes);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            ShapeRange * This,
            /* [retval][out] */ int *pid);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *CanvasCropLeft )( 
            ShapeRange * This,
            /* [in] */ single Increment);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *CanvasCropTop )( 
            ShapeRange * This,
            /* [in] */ single Increment);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *CanvasCropRight )( 
            ShapeRange * This,
            /* [in] */ single Increment);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *CanvasCropBottom )( 
            ShapeRange * This,
            /* [in] */ single Increment);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RTF )( 
            ShapeRange * This,
            /* [in] */ BSTR rhs);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextFrame2 )( 
            ShapeRange * This,
            /* [retval][out] */ TextFrame2 **Frame);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Cut )( 
            ShapeRange * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            ShapeRange * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasChart )( 
            ShapeRange * This,
            /* [retval][out] */ MsoTriState *pHasChart);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Chart )( 
            ShapeRange * This,
            /* [retval][out] */ IMsoChart **Chart);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShapeStyle )( 
            ShapeRange * This,
            /* [retval][out] */ MsoShapeStyleIndex *ShapeStyle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShapeStyle )( 
            ShapeRange * This,
            /* [in] */ MsoShapeStyleIndex ShapeStyle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundStyle )( 
            ShapeRange * This,
            /* [retval][out] */ MsoBackgroundStyleIndex *BackgroundStyle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundStyle )( 
            ShapeRange * This,
            /* [in] */ MsoBackgroundStyleIndex BackgroundStyle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SoftEdge )( 
            ShapeRange * This,
            /* [retval][out] */ SoftEdgeFormat **SoftEdge);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Glow )( 
            ShapeRange * This,
            /* [retval][out] */ GlowFormat **Glow);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Reflection )( 
            ShapeRange * This,
            /* [retval][out] */ ReflectionFormat **Reflection);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            ShapeRange * This,
            /* [retval][out] */ BSTR *Title);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            ShapeRange * This,
            /* [in] */ BSTR Title);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *MergeShapes )( 
            ShapeRange * This,
            /* [in] */ MsoMergeCmd MergeCmd,
            /* [defaultvalue][optional][in] */ Shape *PrimaryShape);
        
        END_INTERFACE
    } ShapeRangeVtbl;

    interface ShapeRange
    {
        CONST_VTBL struct ShapeRangeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ShapeRange_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ShapeRange_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ShapeRange_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ShapeRange_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define ShapeRange_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> Item(This,Index,Item) ) 

#define ShapeRange_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define ShapeRange_Align(This,AlignCmd,RelativeTo)	\
    ( (This)->lpVtbl -> Align(This,AlignCmd,RelativeTo) ) 

#define ShapeRange_Apply(This)	\
    ( (This)->lpVtbl -> Apply(This) ) 

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

#define ShapeRange_Distribute(This,DistributeCmd,RelativeTo)	\
    ( (This)->lpVtbl -> Distribute(This,DistributeCmd,RelativeTo) ) 

#define ShapeRange_Duplicate(This,Duplicate)	\
    ( (This)->lpVtbl -> Duplicate(This,Duplicate) ) 

#define ShapeRange_Flip(This,FlipCmd)	\
    ( (This)->lpVtbl -> Flip(This,FlipCmd) ) 

#define ShapeRange_IncrementLeft(This,Increment)	\
    ( (This)->lpVtbl -> IncrementLeft(This,Increment) ) 

#define ShapeRange_IncrementRotation(This,Increment)	\
    ( (This)->lpVtbl -> IncrementRotation(This,Increment) ) 

#define ShapeRange_IncrementTop(This,Increment)	\
    ( (This)->lpVtbl -> IncrementTop(This,Increment) ) 

#define ShapeRange_Group(This,Group)	\
    ( (This)->lpVtbl -> Group(This,Group) ) 

#define ShapeRange_PickUp(This)	\
    ( (This)->lpVtbl -> PickUp(This) ) 

#define ShapeRange_Regroup(This,Regroup)	\
    ( (This)->lpVtbl -> Regroup(This,Regroup) ) 

#define ShapeRange_RerouteConnections(This)	\
    ( (This)->lpVtbl -> RerouteConnections(This) ) 

#define ShapeRange_ScaleHeight(This,Factor,RelativeToOriginalSize,fScale)	\
    ( (This)->lpVtbl -> ScaleHeight(This,Factor,RelativeToOriginalSize,fScale) ) 

#define ShapeRange_ScaleWidth(This,Factor,RelativeToOriginalSize,fScale)	\
    ( (This)->lpVtbl -> ScaleWidth(This,Factor,RelativeToOriginalSize,fScale) ) 

#define ShapeRange_Select(This,Replace)	\
    ( (This)->lpVtbl -> Select(This,Replace) ) 

#define ShapeRange_SetShapesDefaultProperties(This)	\
    ( (This)->lpVtbl -> SetShapesDefaultProperties(This) ) 

#define ShapeRange_Ungroup(This,Ungroup)	\
    ( (This)->lpVtbl -> Ungroup(This,Ungroup) ) 

#define ShapeRange_ZOrder(This,ZOrderCmd)	\
    ( (This)->lpVtbl -> ZOrder(This,ZOrderCmd) ) 

#define ShapeRange_get_Adjustments(This,Adjustments)	\
    ( (This)->lpVtbl -> get_Adjustments(This,Adjustments) ) 

#define ShapeRange_get_AutoShapeType(This,AutoShapeType)	\
    ( (This)->lpVtbl -> get_AutoShapeType(This,AutoShapeType) ) 

#define ShapeRange_put_AutoShapeType(This,AutoShapeType)	\
    ( (This)->lpVtbl -> put_AutoShapeType(This,AutoShapeType) ) 

#define ShapeRange_get_BlackWhiteMode(This,BlackWhiteMode)	\
    ( (This)->lpVtbl -> get_BlackWhiteMode(This,BlackWhiteMode) ) 

#define ShapeRange_put_BlackWhiteMode(This,BlackWhiteMode)	\
    ( (This)->lpVtbl -> put_BlackWhiteMode(This,BlackWhiteMode) ) 

#define ShapeRange_get_Callout(This,Callout)	\
    ( (This)->lpVtbl -> get_Callout(This,Callout) ) 

#define ShapeRange_get_ConnectionSiteCount(This,ConnectionSiteCount)	\
    ( (This)->lpVtbl -> get_ConnectionSiteCount(This,ConnectionSiteCount) ) 

#define ShapeRange_get_Connector(This,Connector)	\
    ( (This)->lpVtbl -> get_Connector(This,Connector) ) 

#define ShapeRange_get_ConnectorFormat(This,ConnectorFormat)	\
    ( (This)->lpVtbl -> get_ConnectorFormat(This,ConnectorFormat) ) 

#define ShapeRange_get_Fill(This,Fill)	\
    ( (This)->lpVtbl -> get_Fill(This,Fill) ) 

#define ShapeRange_get_GroupItems(This,GroupItems)	\
    ( (This)->lpVtbl -> get_GroupItems(This,GroupItems) ) 

#define ShapeRange_get_Height(This,Height)	\
    ( (This)->lpVtbl -> get_Height(This,Height) ) 

#define ShapeRange_put_Height(This,Height)	\
    ( (This)->lpVtbl -> put_Height(This,Height) ) 

#define ShapeRange_get_HorizontalFlip(This,HorizontalFlip)	\
    ( (This)->lpVtbl -> get_HorizontalFlip(This,HorizontalFlip) ) 

#define ShapeRange_get_Left(This,Left)	\
    ( (This)->lpVtbl -> get_Left(This,Left) ) 

#define ShapeRange_put_Left(This,Left)	\
    ( (This)->lpVtbl -> put_Left(This,Left) ) 

#define ShapeRange_get_Line(This,Line)	\
    ( (This)->lpVtbl -> get_Line(This,Line) ) 

#define ShapeRange_get_LockAspectRatio(This,LockAspectRatio)	\
    ( (This)->lpVtbl -> get_LockAspectRatio(This,LockAspectRatio) ) 

#define ShapeRange_put_LockAspectRatio(This,LockAspectRatio)	\
    ( (This)->lpVtbl -> put_LockAspectRatio(This,LockAspectRatio) ) 

#define ShapeRange_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define ShapeRange_put_Name(This,Name)	\
    ( (This)->lpVtbl -> put_Name(This,Name) ) 

#define ShapeRange_get_Nodes(This,Nodes)	\
    ( (This)->lpVtbl -> get_Nodes(This,Nodes) ) 

#define ShapeRange_get_Rotation(This,Rotation)	\
    ( (This)->lpVtbl -> get_Rotation(This,Rotation) ) 

#define ShapeRange_put_Rotation(This,Rotation)	\
    ( (This)->lpVtbl -> put_Rotation(This,Rotation) ) 

#define ShapeRange_get_PictureFormat(This,Picture)	\
    ( (This)->lpVtbl -> get_PictureFormat(This,Picture) ) 

#define ShapeRange_get_Shadow(This,Shadow)	\
    ( (This)->lpVtbl -> get_Shadow(This,Shadow) ) 

#define ShapeRange_get_TextEffect(This,TextEffect)	\
    ( (This)->lpVtbl -> get_TextEffect(This,TextEffect) ) 

#define ShapeRange_get_TextFrame(This,TextFrame)	\
    ( (This)->lpVtbl -> get_TextFrame(This,TextFrame) ) 

#define ShapeRange_get_ThreeD(This,ThreeD)	\
    ( (This)->lpVtbl -> get_ThreeD(This,ThreeD) ) 

#define ShapeRange_get_Top(This,Top)	\
    ( (This)->lpVtbl -> get_Top(This,Top) ) 

#define ShapeRange_put_Top(This,Top)	\
    ( (This)->lpVtbl -> put_Top(This,Top) ) 

#define ShapeRange_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define ShapeRange_get_VerticalFlip(This,VerticalFlip)	\
    ( (This)->lpVtbl -> get_VerticalFlip(This,VerticalFlip) ) 

#define ShapeRange_get_Vertices(This,Vertices)	\
    ( (This)->lpVtbl -> get_Vertices(This,Vertices) ) 

#define ShapeRange_get_Visible(This,Visible)	\
    ( (This)->lpVtbl -> get_Visible(This,Visible) ) 

#define ShapeRange_put_Visible(This,Visible)	\
    ( (This)->lpVtbl -> put_Visible(This,Visible) ) 

#define ShapeRange_get_Width(This,Width)	\
    ( (This)->lpVtbl -> get_Width(This,Width) ) 

#define ShapeRange_put_Width(This,Width)	\
    ( (This)->lpVtbl -> put_Width(This,Width) ) 

#define ShapeRange_get_ZOrderPosition(This,ZOrderPosition)	\
    ( (This)->lpVtbl -> get_ZOrderPosition(This,ZOrderPosition) ) 

#define ShapeRange_get_Script(This,Script)	\
    ( (This)->lpVtbl -> get_Script(This,Script) ) 

#define ShapeRange_get_AlternativeText(This,AlternativeText)	\
    ( (This)->lpVtbl -> get_AlternativeText(This,AlternativeText) ) 

#define ShapeRange_put_AlternativeText(This,AlternativeText)	\
    ( (This)->lpVtbl -> put_AlternativeText(This,AlternativeText) ) 

#define ShapeRange_get_HasDiagram(This,pHasDiagram)	\
    ( (This)->lpVtbl -> get_HasDiagram(This,pHasDiagram) ) 

#define ShapeRange_get_Diagram(This,Diagram)	\
    ( (This)->lpVtbl -> get_Diagram(This,Diagram) ) 

#define ShapeRange_get_HasDiagramNode(This,pHasDiagram)	\
    ( (This)->lpVtbl -> get_HasDiagramNode(This,pHasDiagram) ) 

#define ShapeRange_get_DiagramNode(This,DiagramNode)	\
    ( (This)->lpVtbl -> get_DiagramNode(This,DiagramNode) ) 

#define ShapeRange_get_Child(This,Child)	\
    ( (This)->lpVtbl -> get_Child(This,Child) ) 

#define ShapeRange_get_ParentGroup(This,Parent)	\
    ( (This)->lpVtbl -> get_ParentGroup(This,Parent) ) 

#define ShapeRange_get_CanvasItems(This,CanvasShapes)	\
    ( (This)->lpVtbl -> get_CanvasItems(This,CanvasShapes) ) 

#define ShapeRange_get_Id(This,pid)	\
    ( (This)->lpVtbl -> get_Id(This,pid) ) 

#define ShapeRange_CanvasCropLeft(This,Increment)	\
    ( (This)->lpVtbl -> CanvasCropLeft(This,Increment) ) 

#define ShapeRange_CanvasCropTop(This,Increment)	\
    ( (This)->lpVtbl -> CanvasCropTop(This,Increment) ) 

#define ShapeRange_CanvasCropRight(This,Increment)	\
    ( (This)->lpVtbl -> CanvasCropRight(This,Increment) ) 

#define ShapeRange_CanvasCropBottom(This,Increment)	\
    ( (This)->lpVtbl -> CanvasCropBottom(This,Increment) ) 

#define ShapeRange_put_RTF(This,rhs)	\
    ( (This)->lpVtbl -> put_RTF(This,rhs) ) 

#define ShapeRange_get_TextFrame2(This,Frame)	\
    ( (This)->lpVtbl -> get_TextFrame2(This,Frame) ) 

#define ShapeRange_Cut(This)	\
    ( (This)->lpVtbl -> Cut(This) ) 

#define ShapeRange_Copy(This)	\
    ( (This)->lpVtbl -> Copy(This) ) 

#define ShapeRange_get_HasChart(This,pHasChart)	\
    ( (This)->lpVtbl -> get_HasChart(This,pHasChart) ) 

#define ShapeRange_get_Chart(This,Chart)	\
    ( (This)->lpVtbl -> get_Chart(This,Chart) ) 

#define ShapeRange_get_ShapeStyle(This,ShapeStyle)	\
    ( (This)->lpVtbl -> get_ShapeStyle(This,ShapeStyle) ) 

#define ShapeRange_put_ShapeStyle(This,ShapeStyle)	\
    ( (This)->lpVtbl -> put_ShapeStyle(This,ShapeStyle) ) 

#define ShapeRange_get_BackgroundStyle(This,BackgroundStyle)	\
    ( (This)->lpVtbl -> get_BackgroundStyle(This,BackgroundStyle) ) 

#define ShapeRange_put_BackgroundStyle(This,BackgroundStyle)	\
    ( (This)->lpVtbl -> put_BackgroundStyle(This,BackgroundStyle) ) 

#define ShapeRange_get_SoftEdge(This,SoftEdge)	\
    ( (This)->lpVtbl -> get_SoftEdge(This,SoftEdge) ) 

#define ShapeRange_get_Glow(This,Glow)	\
    ( (This)->lpVtbl -> get_Glow(This,Glow) ) 

#define ShapeRange_get_Reflection(This,Reflection)	\
    ( (This)->lpVtbl -> get_Reflection(This,Reflection) ) 

#define ShapeRange_get_Title(This,Title)	\
    ( (This)->lpVtbl -> get_Title(This,Title) ) 

#define ShapeRange_put_Title(This,Title)	\
    ( (This)->lpVtbl -> put_Title(This,Title) ) 

#define ShapeRange_MergeShapes(This,MergeCmd,PrimaryShape)	\
    ( (This)->lpVtbl -> MergeShapes(This,MergeCmd,PrimaryShape) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ShapeRange_INTERFACE_DEFINED__ */


#ifndef __Shapes_INTERFACE_DEFINED__
#define __Shapes_INTERFACE_DEFINED__

/* interface Shapes */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_Shapes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C031E-0000-0000-C000-000000000046")
    Shapes : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Shape **Item) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddCallout( 
            /* [in] */ MsoCalloutType Type,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Callout) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddConnector( 
            /* [in] */ MsoConnectorType Type,
            /* [in] */ single BeginX,
            /* [in] */ single BeginY,
            /* [in] */ single EndX,
            /* [in] */ single EndY,
            /* [retval][out] */ Shape **Connector) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddCurve( 
            /* [in] */ VARIANT SafeArrayOfPoints,
            /* [retval][out] */ Shape **Curve) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddLabel( 
            /* [in] */ MsoTextOrientation Orientation,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Label) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddLine( 
            /* [in] */ single BeginX,
            /* [in] */ single BeginY,
            /* [in] */ single EndX,
            /* [in] */ single EndY,
            /* [retval][out] */ Shape **Line) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddPicture( 
            /* [in] */ BSTR FileName,
            /* [in] */ MsoTriState LinkToFile,
            /* [in] */ MsoTriState SaveWithDocument,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [retval][out] */ Shape **Picture) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddPolyline( 
            /* [in] */ VARIANT SafeArrayOfPoints,
            /* [retval][out] */ Shape **Polyline) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddShape( 
            /* [in] */ MsoAutoShapeType Type,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Shape) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddTextEffect( 
            /* [in] */ MsoPresetTextEffect PresetTextEffect,
            /* [in] */ BSTR Text,
            /* [in] */ BSTR FontName,
            /* [in] */ single FontSize,
            /* [in] */ MsoTriState FontBold,
            /* [in] */ MsoTriState FontItalic,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [retval][out] */ Shape **TextEffect) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddTextbox( 
            /* [in] */ MsoTextOrientation Orientation,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Textbox) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE BuildFreeform( 
            /* [in] */ MsoEditingType EditingType,
            /* [in] */ single X1,
            /* [in] */ single Y1,
            /* [retval][out] */ FreeformBuilder **FreeformBuilder) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Range( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ ShapeRange **Range) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SelectAll( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Background( 
            /* [retval][out] */ Shape **Background) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Default( 
            /* [retval][out] */ Shape **Default) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE AddDiagram( 
            /* [in] */ MsoDiagramType Type,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Diagram) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE AddCanvas( 
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Shape) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE AddChart( 
            /* [defaultvalue][optional][in] */ XlChartType Type,
            /* [defaultvalue][optional][in] */ single Left,
            /* [defaultvalue][optional][in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [retval][out] */ Shape **Chart) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE AddTable( 
            /* [in] */ int NumRows,
            /* [in] */ int NumColumns,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Table) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddSmartArt( 
            /* [in] */ SmartArtLayout *Layout,
            /* [defaultvalue][optional][in] */ single Left,
            /* [defaultvalue][optional][in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [retval][out] */ Shape **SmartArt) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddChart2( 
            /* [defaultvalue][optional][in] */ int Style,
            /* [defaultvalue][optional][in] */ XlChartType Type,
            /* [defaultvalue][optional][in] */ single Left,
            /* [defaultvalue][optional][in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL NewLayout,
            /* [retval][out] */ Shape **Chart) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddPicture2( 
            /* [in] */ BSTR FileName,
            /* [in] */ MsoTriState LinkToFile,
            /* [in] */ MsoTriState SaveWithDocument,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [defaultvalue][optional][in] */ MsoPictureCompress Compress,
            /* [retval][out] */ Shape **Picture) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ShapesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Shapes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Shapes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Shapes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Shapes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Shapes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Shapes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Shapes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Shapes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Shapes * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Shapes * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            Shapes * This,
            /* [retval][out] */ int *Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            Shapes * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Shape **Item);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            Shapes * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddCallout )( 
            Shapes * This,
            /* [in] */ MsoCalloutType Type,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Callout);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddConnector )( 
            Shapes * This,
            /* [in] */ MsoConnectorType Type,
            /* [in] */ single BeginX,
            /* [in] */ single BeginY,
            /* [in] */ single EndX,
            /* [in] */ single EndY,
            /* [retval][out] */ Shape **Connector);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddCurve )( 
            Shapes * This,
            /* [in] */ VARIANT SafeArrayOfPoints,
            /* [retval][out] */ Shape **Curve);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddLabel )( 
            Shapes * This,
            /* [in] */ MsoTextOrientation Orientation,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Label);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddLine )( 
            Shapes * This,
            /* [in] */ single BeginX,
            /* [in] */ single BeginY,
            /* [in] */ single EndX,
            /* [in] */ single EndY,
            /* [retval][out] */ Shape **Line);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddPicture )( 
            Shapes * This,
            /* [in] */ BSTR FileName,
            /* [in] */ MsoTriState LinkToFile,
            /* [in] */ MsoTriState SaveWithDocument,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [retval][out] */ Shape **Picture);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddPolyline )( 
            Shapes * This,
            /* [in] */ VARIANT SafeArrayOfPoints,
            /* [retval][out] */ Shape **Polyline);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddShape )( 
            Shapes * This,
            /* [in] */ MsoAutoShapeType Type,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Shape);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddTextEffect )( 
            Shapes * This,
            /* [in] */ MsoPresetTextEffect PresetTextEffect,
            /* [in] */ BSTR Text,
            /* [in] */ BSTR FontName,
            /* [in] */ single FontSize,
            /* [in] */ MsoTriState FontBold,
            /* [in] */ MsoTriState FontItalic,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [retval][out] */ Shape **TextEffect);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddTextbox )( 
            Shapes * This,
            /* [in] */ MsoTextOrientation Orientation,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Textbox);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *BuildFreeform )( 
            Shapes * This,
            /* [in] */ MsoEditingType EditingType,
            /* [in] */ single X1,
            /* [in] */ single Y1,
            /* [retval][out] */ FreeformBuilder **FreeformBuilder);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Range )( 
            Shapes * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ ShapeRange **Range);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SelectAll )( 
            Shapes * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Background )( 
            Shapes * This,
            /* [retval][out] */ Shape **Background);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Default )( 
            Shapes * This,
            /* [retval][out] */ Shape **Default);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *AddDiagram )( 
            Shapes * This,
            /* [in] */ MsoDiagramType Type,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Diagram);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *AddCanvas )( 
            Shapes * This,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Shape);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *AddChart )( 
            Shapes * This,
            /* [defaultvalue][optional][in] */ XlChartType Type,
            /* [defaultvalue][optional][in] */ single Left,
            /* [defaultvalue][optional][in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [retval][out] */ Shape **Chart);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *AddTable )( 
            Shapes * This,
            /* [in] */ int NumRows,
            /* [in] */ int NumColumns,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Table);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddSmartArt )( 
            Shapes * This,
            /* [in] */ SmartArtLayout *Layout,
            /* [defaultvalue][optional][in] */ single Left,
            /* [defaultvalue][optional][in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [retval][out] */ Shape **SmartArt);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddChart2 )( 
            Shapes * This,
            /* [defaultvalue][optional][in] */ int Style,
            /* [defaultvalue][optional][in] */ XlChartType Type,
            /* [defaultvalue][optional][in] */ single Left,
            /* [defaultvalue][optional][in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL NewLayout,
            /* [retval][out] */ Shape **Chart);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddPicture2 )( 
            Shapes * This,
            /* [in] */ BSTR FileName,
            /* [in] */ MsoTriState LinkToFile,
            /* [in] */ MsoTriState SaveWithDocument,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [defaultvalue][optional][in] */ MsoPictureCompress Compress,
            /* [retval][out] */ Shape **Picture);
        
        END_INTERFACE
    } ShapesVtbl;

    interface Shapes
    {
        CONST_VTBL struct ShapesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define Shapes_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Shapes_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Shapes_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define Shapes_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define Shapes_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> Item(This,Index,Item) ) 

#define Shapes_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define Shapes_AddCallout(This,Type,Left,Top,Width,Height,Callout)	\
    ( (This)->lpVtbl -> AddCallout(This,Type,Left,Top,Width,Height,Callout) ) 

#define Shapes_AddConnector(This,Type,BeginX,BeginY,EndX,EndY,Connector)	\
    ( (This)->lpVtbl -> AddConnector(This,Type,BeginX,BeginY,EndX,EndY,Connector) ) 

#define Shapes_AddCurve(This,SafeArrayOfPoints,Curve)	\
    ( (This)->lpVtbl -> AddCurve(This,SafeArrayOfPoints,Curve) ) 

#define Shapes_AddLabel(This,Orientation,Left,Top,Width,Height,Label)	\
    ( (This)->lpVtbl -> AddLabel(This,Orientation,Left,Top,Width,Height,Label) ) 

#define Shapes_AddLine(This,BeginX,BeginY,EndX,EndY,Line)	\
    ( (This)->lpVtbl -> AddLine(This,BeginX,BeginY,EndX,EndY,Line) ) 

#define Shapes_AddPicture(This,FileName,LinkToFile,SaveWithDocument,Left,Top,Width,Height,Picture)	\
    ( (This)->lpVtbl -> AddPicture(This,FileName,LinkToFile,SaveWithDocument,Left,Top,Width,Height,Picture) ) 

#define Shapes_AddPolyline(This,SafeArrayOfPoints,Polyline)	\
    ( (This)->lpVtbl -> AddPolyline(This,SafeArrayOfPoints,Polyline) ) 

#define Shapes_AddShape(This,Type,Left,Top,Width,Height,Shape)	\
    ( (This)->lpVtbl -> AddShape(This,Type,Left,Top,Width,Height,Shape) ) 

#define Shapes_AddTextEffect(This,PresetTextEffect,Text,FontName,FontSize,FontBold,FontItalic,Left,Top,TextEffect)	\
    ( (This)->lpVtbl -> AddTextEffect(This,PresetTextEffect,Text,FontName,FontSize,FontBold,FontItalic,Left,Top,TextEffect) ) 

#define Shapes_AddTextbox(This,Orientation,Left,Top,Width,Height,Textbox)	\
    ( (This)->lpVtbl -> AddTextbox(This,Orientation,Left,Top,Width,Height,Textbox) ) 

#define Shapes_BuildFreeform(This,EditingType,X1,Y1,FreeformBuilder)	\
    ( (This)->lpVtbl -> BuildFreeform(This,EditingType,X1,Y1,FreeformBuilder) ) 

#define Shapes_Range(This,Index,Range)	\
    ( (This)->lpVtbl -> Range(This,Index,Range) ) 

#define Shapes_SelectAll(This)	\
    ( (This)->lpVtbl -> SelectAll(This) ) 

#define Shapes_get_Background(This,Background)	\
    ( (This)->lpVtbl -> get_Background(This,Background) ) 

#define Shapes_get_Default(This,Default)	\
    ( (This)->lpVtbl -> get_Default(This,Default) ) 

#define Shapes_AddDiagram(This,Type,Left,Top,Width,Height,Diagram)	\
    ( (This)->lpVtbl -> AddDiagram(This,Type,Left,Top,Width,Height,Diagram) ) 

#define Shapes_AddCanvas(This,Left,Top,Width,Height,Shape)	\
    ( (This)->lpVtbl -> AddCanvas(This,Left,Top,Width,Height,Shape) ) 

#define Shapes_AddChart(This,Type,Left,Top,Width,Height,Chart)	\
    ( (This)->lpVtbl -> AddChart(This,Type,Left,Top,Width,Height,Chart) ) 

#define Shapes_AddTable(This,NumRows,NumColumns,Left,Top,Width,Height,Table)	\
    ( (This)->lpVtbl -> AddTable(This,NumRows,NumColumns,Left,Top,Width,Height,Table) ) 

#define Shapes_AddSmartArt(This,Layout,Left,Top,Width,Height,SmartArt)	\
    ( (This)->lpVtbl -> AddSmartArt(This,Layout,Left,Top,Width,Height,SmartArt) ) 

#define Shapes_AddChart2(This,Style,Type,Left,Top,Width,Height,NewLayout,Chart)	\
    ( (This)->lpVtbl -> AddChart2(This,Style,Type,Left,Top,Width,Height,NewLayout,Chart) ) 

#define Shapes_AddPicture2(This,FileName,LinkToFile,SaveWithDocument,Left,Top,Width,Height,Compress,Picture)	\
    ( (This)->lpVtbl -> AddPicture2(This,FileName,LinkToFile,SaveWithDocument,Left,Top,Width,Height,Compress,Picture) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Shapes_INTERFACE_DEFINED__ */


#ifndef __TextEffectFormat_INTERFACE_DEFINED__
#define __TextEffectFormat_INTERFACE_DEFINED__

/* interface TextEffectFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_TextEffectFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C031F-0000-0000-C000-000000000046")
    TextEffectFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ToggleVerticalText( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Alignment( 
            /* [retval][out] */ MsoTextEffectAlignment *Alignment) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Alignment( 
            /* [in] */ MsoTextEffectAlignment Alignment) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FontBold( 
            /* [retval][out] */ MsoTriState *FontBold) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FontBold( 
            /* [in] */ MsoTriState FontBold) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FontItalic( 
            /* [retval][out] */ MsoTriState *FontItalic) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FontItalic( 
            /* [in] */ MsoTriState FontItalic) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FontName( 
            /* [retval][out] */ BSTR *FontName) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FontName( 
            /* [in] */ BSTR FontName) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FontSize( 
            /* [retval][out] */ single *FontSize) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FontSize( 
            /* [in] */ single FontSize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_KernedPairs( 
            /* [retval][out] */ MsoTriState *KernedPairs) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_KernedPairs( 
            /* [in] */ MsoTriState KernedPairs) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NormalizedHeight( 
            /* [retval][out] */ MsoTriState *NormalizedHeight) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NormalizedHeight( 
            /* [in] */ MsoTriState NormalizedHeight) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetShape( 
            /* [retval][out] */ MsoPresetTextEffectShape *PresetShape) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PresetShape( 
            /* [in] */ MsoPresetTextEffectShape PresetShape) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetTextEffect( 
            /* [retval][out] */ MsoPresetTextEffect *Preset) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PresetTextEffect( 
            /* [in] */ MsoPresetTextEffect Preset) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RotatedChars( 
            /* [retval][out] */ MsoTriState *RotatedChars) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RotatedChars( 
            /* [in] */ MsoTriState RotatedChars) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *Text) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR Text) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Tracking( 
            /* [retval][out] */ single *Tracking) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Tracking( 
            /* [in] */ single Tracking) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct TextEffectFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            TextEffectFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            TextEffectFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            TextEffectFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            TextEffectFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            TextEffectFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            TextEffectFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            TextEffectFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            TextEffectFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            TextEffectFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            TextEffectFormat * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ToggleVerticalText )( 
            TextEffectFormat * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Alignment )( 
            TextEffectFormat * This,
            /* [retval][out] */ MsoTextEffectAlignment *Alignment);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Alignment )( 
            TextEffectFormat * This,
            /* [in] */ MsoTextEffectAlignment Alignment);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FontBold )( 
            TextEffectFormat * This,
            /* [retval][out] */ MsoTriState *FontBold);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FontBold )( 
            TextEffectFormat * This,
            /* [in] */ MsoTriState FontBold);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FontItalic )( 
            TextEffectFormat * This,
            /* [retval][out] */ MsoTriState *FontItalic);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FontItalic )( 
            TextEffectFormat * This,
            /* [in] */ MsoTriState FontItalic);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FontName )( 
            TextEffectFormat * This,
            /* [retval][out] */ BSTR *FontName);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FontName )( 
            TextEffectFormat * This,
            /* [in] */ BSTR FontName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FontSize )( 
            TextEffectFormat * This,
            /* [retval][out] */ single *FontSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FontSize )( 
            TextEffectFormat * This,
            /* [in] */ single FontSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KernedPairs )( 
            TextEffectFormat * This,
            /* [retval][out] */ MsoTriState *KernedPairs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KernedPairs )( 
            TextEffectFormat * This,
            /* [in] */ MsoTriState KernedPairs);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NormalizedHeight )( 
            TextEffectFormat * This,
            /* [retval][out] */ MsoTriState *NormalizedHeight);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NormalizedHeight )( 
            TextEffectFormat * This,
            /* [in] */ MsoTriState NormalizedHeight);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetShape )( 
            TextEffectFormat * This,
            /* [retval][out] */ MsoPresetTextEffectShape *PresetShape);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PresetShape )( 
            TextEffectFormat * This,
            /* [in] */ MsoPresetTextEffectShape PresetShape);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetTextEffect )( 
            TextEffectFormat * This,
            /* [retval][out] */ MsoPresetTextEffect *Preset);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PresetTextEffect )( 
            TextEffectFormat * This,
            /* [in] */ MsoPresetTextEffect Preset);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RotatedChars )( 
            TextEffectFormat * This,
            /* [retval][out] */ MsoTriState *RotatedChars);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RotatedChars )( 
            TextEffectFormat * This,
            /* [in] */ MsoTriState RotatedChars);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            TextEffectFormat * This,
            /* [retval][out] */ BSTR *Text);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            TextEffectFormat * This,
            /* [in] */ BSTR Text);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Tracking )( 
            TextEffectFormat * This,
            /* [retval][out] */ single *Tracking);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Tracking )( 
            TextEffectFormat * This,
            /* [in] */ single Tracking);
        
        END_INTERFACE
    } TextEffectFormatVtbl;

    interface TextEffectFormat
    {
        CONST_VTBL struct TextEffectFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define TextEffectFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define TextEffectFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define TextEffectFormat_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define TextEffectFormat_ToggleVerticalText(This)	\
    ( (This)->lpVtbl -> ToggleVerticalText(This) ) 

#define TextEffectFormat_get_Alignment(This,Alignment)	\
    ( (This)->lpVtbl -> get_Alignment(This,Alignment) ) 

#define TextEffectFormat_put_Alignment(This,Alignment)	\
    ( (This)->lpVtbl -> put_Alignment(This,Alignment) ) 

#define TextEffectFormat_get_FontBold(This,FontBold)	\
    ( (This)->lpVtbl -> get_FontBold(This,FontBold) ) 

#define TextEffectFormat_put_FontBold(This,FontBold)	\
    ( (This)->lpVtbl -> put_FontBold(This,FontBold) ) 

#define TextEffectFormat_get_FontItalic(This,FontItalic)	\
    ( (This)->lpVtbl -> get_FontItalic(This,FontItalic) ) 

#define TextEffectFormat_put_FontItalic(This,FontItalic)	\
    ( (This)->lpVtbl -> put_FontItalic(This,FontItalic) ) 

#define TextEffectFormat_get_FontName(This,FontName)	\
    ( (This)->lpVtbl -> get_FontName(This,FontName) ) 

#define TextEffectFormat_put_FontName(This,FontName)	\
    ( (This)->lpVtbl -> put_FontName(This,FontName) ) 

#define TextEffectFormat_get_FontSize(This,FontSize)	\
    ( (This)->lpVtbl -> get_FontSize(This,FontSize) ) 

#define TextEffectFormat_put_FontSize(This,FontSize)	\
    ( (This)->lpVtbl -> put_FontSize(This,FontSize) ) 

#define TextEffectFormat_get_KernedPairs(This,KernedPairs)	\
    ( (This)->lpVtbl -> get_KernedPairs(This,KernedPairs) ) 

#define TextEffectFormat_put_KernedPairs(This,KernedPairs)	\
    ( (This)->lpVtbl -> put_KernedPairs(This,KernedPairs) ) 

#define TextEffectFormat_get_NormalizedHeight(This,NormalizedHeight)	\
    ( (This)->lpVtbl -> get_NormalizedHeight(This,NormalizedHeight) ) 

#define TextEffectFormat_put_NormalizedHeight(This,NormalizedHeight)	\
    ( (This)->lpVtbl -> put_NormalizedHeight(This,NormalizedHeight) ) 

#define TextEffectFormat_get_PresetShape(This,PresetShape)	\
    ( (This)->lpVtbl -> get_PresetShape(This,PresetShape) ) 

#define TextEffectFormat_put_PresetShape(This,PresetShape)	\
    ( (This)->lpVtbl -> put_PresetShape(This,PresetShape) ) 

#define TextEffectFormat_get_PresetTextEffect(This,Preset)	\
    ( (This)->lpVtbl -> get_PresetTextEffect(This,Preset) ) 

#define TextEffectFormat_put_PresetTextEffect(This,Preset)	\
    ( (This)->lpVtbl -> put_PresetTextEffect(This,Preset) ) 

#define TextEffectFormat_get_RotatedChars(This,RotatedChars)	\
    ( (This)->lpVtbl -> get_RotatedChars(This,RotatedChars) ) 

#define TextEffectFormat_put_RotatedChars(This,RotatedChars)	\
    ( (This)->lpVtbl -> put_RotatedChars(This,RotatedChars) ) 

#define TextEffectFormat_get_Text(This,Text)	\
    ( (This)->lpVtbl -> get_Text(This,Text) ) 

#define TextEffectFormat_put_Text(This,Text)	\
    ( (This)->lpVtbl -> put_Text(This,Text) ) 

#define TextEffectFormat_get_Tracking(This,Tracking)	\
    ( (This)->lpVtbl -> get_Tracking(This,Tracking) ) 

#define TextEffectFormat_put_Tracking(This,Tracking)	\
    ( (This)->lpVtbl -> put_Tracking(This,Tracking) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __TextEffectFormat_INTERFACE_DEFINED__ */


#ifndef __TextFrame_INTERFACE_DEFINED__
#define __TextFrame_INTERFACE_DEFINED__

/* interface TextFrame */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_TextFrame;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0320-0000-0000-C000-000000000046")
    TextFrame : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MarginBottom( 
            /* [retval][out] */ single *MarginBottom) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MarginBottom( 
            /* [in] */ single MarginBottom) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MarginLeft( 
            /* [retval][out] */ single *MarginLeft) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MarginLeft( 
            /* [in] */ single MarginLeft) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MarginRight( 
            /* [retval][out] */ single *MarginRight) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MarginRight( 
            /* [in] */ single MarginRight) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MarginTop( 
            /* [retval][out] */ single *MarginTop) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MarginTop( 
            /* [in] */ single MarginTop) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Orientation( 
            /* [retval][out] */ MsoTextOrientation *Orientation) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Orientation( 
            /* [in] */ MsoTextOrientation Orientation) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct TextFrameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            TextFrame * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            TextFrame * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            TextFrame * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            TextFrame * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            TextFrame * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            TextFrame * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            TextFrame * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            TextFrame * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            TextFrame * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            TextFrame * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarginBottom )( 
            TextFrame * This,
            /* [retval][out] */ single *MarginBottom);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarginBottom )( 
            TextFrame * This,
            /* [in] */ single MarginBottom);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarginLeft )( 
            TextFrame * This,
            /* [retval][out] */ single *MarginLeft);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarginLeft )( 
            TextFrame * This,
            /* [in] */ single MarginLeft);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarginRight )( 
            TextFrame * This,
            /* [retval][out] */ single *MarginRight);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarginRight )( 
            TextFrame * This,
            /* [in] */ single MarginRight);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarginTop )( 
            TextFrame * This,
            /* [retval][out] */ single *MarginTop);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarginTop )( 
            TextFrame * This,
            /* [in] */ single MarginTop);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Orientation )( 
            TextFrame * This,
            /* [retval][out] */ MsoTextOrientation *Orientation);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Orientation )( 
            TextFrame * This,
            /* [in] */ MsoTextOrientation Orientation);
        
        END_INTERFACE
    } TextFrameVtbl;

    interface TextFrame
    {
        CONST_VTBL struct TextFrameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define TextFrame_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define TextFrame_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define TextFrame_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define TextFrame_get_MarginBottom(This,MarginBottom)	\
    ( (This)->lpVtbl -> get_MarginBottom(This,MarginBottom) ) 

#define TextFrame_put_MarginBottom(This,MarginBottom)	\
    ( (This)->lpVtbl -> put_MarginBottom(This,MarginBottom) ) 

#define TextFrame_get_MarginLeft(This,MarginLeft)	\
    ( (This)->lpVtbl -> get_MarginLeft(This,MarginLeft) ) 

#define TextFrame_put_MarginLeft(This,MarginLeft)	\
    ( (This)->lpVtbl -> put_MarginLeft(This,MarginLeft) ) 

#define TextFrame_get_MarginRight(This,MarginRight)	\
    ( (This)->lpVtbl -> get_MarginRight(This,MarginRight) ) 

#define TextFrame_put_MarginRight(This,MarginRight)	\
    ( (This)->lpVtbl -> put_MarginRight(This,MarginRight) ) 

#define TextFrame_get_MarginTop(This,MarginTop)	\
    ( (This)->lpVtbl -> get_MarginTop(This,MarginTop) ) 

#define TextFrame_put_MarginTop(This,MarginTop)	\
    ( (This)->lpVtbl -> put_MarginTop(This,MarginTop) ) 

#define TextFrame_get_Orientation(This,Orientation)	\
    ( (This)->lpVtbl -> get_Orientation(This,Orientation) ) 

#define TextFrame_put_Orientation(This,Orientation)	\
    ( (This)->lpVtbl -> put_Orientation(This,Orientation) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __TextFrame_INTERFACE_DEFINED__ */


#ifndef __ThreeDFormat_INTERFACE_DEFINED__
#define __ThreeDFormat_INTERFACE_DEFINED__

/* interface ThreeDFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ThreeDFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0321-0000-0000-C000-000000000046")
    ThreeDFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementRotationX( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementRotationY( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ResetRotation( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetThreeDFormat( 
            /* [in] */ MsoPresetThreeDFormat PresetThreeDFormat) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetExtrusionDirection( 
            /* [in] */ MsoPresetExtrusionDirection PresetExtrusionDirection) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Depth( 
            /* [retval][out] */ single *Depth) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Depth( 
            /* [in] */ single Depth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ExtrusionColor( 
            /* [retval][out] */ ColorFormat **ExtrusionColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ExtrusionColorType( 
            /* [retval][out] */ MsoExtrusionColorType *ExtrusionColorType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ExtrusionColorType( 
            /* [in] */ MsoExtrusionColorType ExtrusionColorType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Perspective( 
            /* [retval][out] */ MsoTriState *Perspective) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Perspective( 
            /* [in] */ MsoTriState Perspective) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetExtrusionDirection( 
            /* [retval][out] */ MsoPresetExtrusionDirection *PresetExtrusionDirection) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetLightingDirection( 
            /* [retval][out] */ MsoPresetLightingDirection *PresetLightingDirection) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PresetLightingDirection( 
            /* [in] */ MsoPresetLightingDirection PresetLightingDirection) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetLightingSoftness( 
            /* [retval][out] */ MsoPresetLightingSoftness *PresetLightingSoftness) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PresetLightingSoftness( 
            /* [in] */ MsoPresetLightingSoftness PresetLightingSoftness) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetMaterial( 
            /* [retval][out] */ MsoPresetMaterial *PresetMaterial) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PresetMaterial( 
            /* [in] */ MsoPresetMaterial PresetMaterial) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetThreeDFormat( 
            /* [retval][out] */ MsoPresetThreeDFormat *PresetThreeDFormat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RotationX( 
            /* [retval][out] */ single *RotationX) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RotationX( 
            /* [in] */ single RotationX) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RotationY( 
            /* [retval][out] */ single *RotationY) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RotationY( 
            /* [in] */ single RotationY) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ MsoTriState *Visible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ MsoTriState Visible) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetPresetCamera( 
            /* [in] */ MsoPresetCamera PresetCamera) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementRotationZ( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementRotationHorizontal( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE IncrementRotationVertical( 
            /* [in] */ single Increment) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetLighting( 
            /* [retval][out] */ MsoLightRigType *PresetLightRigType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PresetLighting( 
            /* [in] */ MsoLightRigType PresetLightRigType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Z( 
            /* [retval][out] */ single *Z) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Z( 
            /* [in] */ single Z) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BevelTopType( 
            /* [retval][out] */ MsoBevelType *BevelTopType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BevelTopType( 
            /* [in] */ MsoBevelType BevelTopType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BevelTopInset( 
            /* [retval][out] */ single *BevelTopInset) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BevelTopInset( 
            /* [in] */ single BevelTopInset) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BevelTopDepth( 
            /* [retval][out] */ single *BevelTopDepth) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BevelTopDepth( 
            /* [in] */ single BevelTopDepth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BevelBottomType( 
            /* [retval][out] */ MsoBevelType *BevelBottomType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BevelBottomType( 
            /* [in] */ MsoBevelType BevelBottomType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BevelBottomInset( 
            /* [retval][out] */ single *BevelBottomInset) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BevelBottomInset( 
            /* [in] */ single BevelBottomInset) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BevelBottomDepth( 
            /* [retval][out] */ single *BevelBottomDepth) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BevelBottomDepth( 
            /* [in] */ single BevelBottomDepth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetCamera( 
            /* [retval][out] */ MsoPresetCamera *PresetCamera) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RotationZ( 
            /* [retval][out] */ single *RotationZ) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RotationZ( 
            /* [in] */ single RotationZ) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ContourWidth( 
            /* [retval][out] */ single *Width) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ContourWidth( 
            /* [in] */ single Width) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ContourColor( 
            /* [retval][out] */ ColorFormat **ContourColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FieldOfView( 
            /* [retval][out] */ single *FOV) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FieldOfView( 
            /* [in] */ single FOV) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ProjectText( 
            /* [retval][out] */ MsoTriState *ProjectText) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ProjectText( 
            /* [in] */ MsoTriState ProjectText) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LightAngle( 
            /* [retval][out] */ single *LightAngle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LightAngle( 
            /* [in] */ single LightAngle) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ThreeDFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ThreeDFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ThreeDFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ThreeDFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ThreeDFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ThreeDFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ThreeDFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ThreeDFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ThreeDFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ThreeDFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ThreeDFormat * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementRotationX )( 
            ThreeDFormat * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementRotationY )( 
            ThreeDFormat * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ResetRotation )( 
            ThreeDFormat * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetThreeDFormat )( 
            ThreeDFormat * This,
            /* [in] */ MsoPresetThreeDFormat PresetThreeDFormat);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetExtrusionDirection )( 
            ThreeDFormat * This,
            /* [in] */ MsoPresetExtrusionDirection PresetExtrusionDirection);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Depth )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *Depth);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Depth )( 
            ThreeDFormat * This,
            /* [in] */ single Depth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtrusionColor )( 
            ThreeDFormat * This,
            /* [retval][out] */ ColorFormat **ExtrusionColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExtrusionColorType )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoExtrusionColorType *ExtrusionColorType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ExtrusionColorType )( 
            ThreeDFormat * This,
            /* [in] */ MsoExtrusionColorType ExtrusionColorType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Perspective )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoTriState *Perspective);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Perspective )( 
            ThreeDFormat * This,
            /* [in] */ MsoTriState Perspective);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetExtrusionDirection )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoPresetExtrusionDirection *PresetExtrusionDirection);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetLightingDirection )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoPresetLightingDirection *PresetLightingDirection);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PresetLightingDirection )( 
            ThreeDFormat * This,
            /* [in] */ MsoPresetLightingDirection PresetLightingDirection);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetLightingSoftness )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoPresetLightingSoftness *PresetLightingSoftness);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PresetLightingSoftness )( 
            ThreeDFormat * This,
            /* [in] */ MsoPresetLightingSoftness PresetLightingSoftness);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetMaterial )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoPresetMaterial *PresetMaterial);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PresetMaterial )( 
            ThreeDFormat * This,
            /* [in] */ MsoPresetMaterial PresetMaterial);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetThreeDFormat )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoPresetThreeDFormat *PresetThreeDFormat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RotationX )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *RotationX);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RotationX )( 
            ThreeDFormat * This,
            /* [in] */ single RotationX);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RotationY )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *RotationY);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RotationY )( 
            ThreeDFormat * This,
            /* [in] */ single RotationY);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoTriState *Visible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            ThreeDFormat * This,
            /* [in] */ MsoTriState Visible);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetPresetCamera )( 
            ThreeDFormat * This,
            /* [in] */ MsoPresetCamera PresetCamera);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementRotationZ )( 
            ThreeDFormat * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementRotationHorizontal )( 
            ThreeDFormat * This,
            /* [in] */ single Increment);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *IncrementRotationVertical )( 
            ThreeDFormat * This,
            /* [in] */ single Increment);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetLighting )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoLightRigType *PresetLightRigType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PresetLighting )( 
            ThreeDFormat * This,
            /* [in] */ MsoLightRigType PresetLightRigType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Z )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *Z);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Z )( 
            ThreeDFormat * This,
            /* [in] */ single Z);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BevelTopType )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoBevelType *BevelTopType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BevelTopType )( 
            ThreeDFormat * This,
            /* [in] */ MsoBevelType BevelTopType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BevelTopInset )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *BevelTopInset);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BevelTopInset )( 
            ThreeDFormat * This,
            /* [in] */ single BevelTopInset);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BevelTopDepth )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *BevelTopDepth);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BevelTopDepth )( 
            ThreeDFormat * This,
            /* [in] */ single BevelTopDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BevelBottomType )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoBevelType *BevelBottomType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BevelBottomType )( 
            ThreeDFormat * This,
            /* [in] */ MsoBevelType BevelBottomType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BevelBottomInset )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *BevelBottomInset);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BevelBottomInset )( 
            ThreeDFormat * This,
            /* [in] */ single BevelBottomInset);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BevelBottomDepth )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *BevelBottomDepth);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BevelBottomDepth )( 
            ThreeDFormat * This,
            /* [in] */ single BevelBottomDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetCamera )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoPresetCamera *PresetCamera);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RotationZ )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *RotationZ);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RotationZ )( 
            ThreeDFormat * This,
            /* [in] */ single RotationZ);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContourWidth )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *Width);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContourWidth )( 
            ThreeDFormat * This,
            /* [in] */ single Width);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContourColor )( 
            ThreeDFormat * This,
            /* [retval][out] */ ColorFormat **ContourColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FieldOfView )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *FOV);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FieldOfView )( 
            ThreeDFormat * This,
            /* [in] */ single FOV);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProjectText )( 
            ThreeDFormat * This,
            /* [retval][out] */ MsoTriState *ProjectText);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProjectText )( 
            ThreeDFormat * This,
            /* [in] */ MsoTriState ProjectText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LightAngle )( 
            ThreeDFormat * This,
            /* [retval][out] */ single *LightAngle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LightAngle )( 
            ThreeDFormat * This,
            /* [in] */ single LightAngle);
        
        END_INTERFACE
    } ThreeDFormatVtbl;

    interface ThreeDFormat
    {
        CONST_VTBL struct ThreeDFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ThreeDFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ThreeDFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ThreeDFormat_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ThreeDFormat_IncrementRotationX(This,Increment)	\
    ( (This)->lpVtbl -> IncrementRotationX(This,Increment) ) 

#define ThreeDFormat_IncrementRotationY(This,Increment)	\
    ( (This)->lpVtbl -> IncrementRotationY(This,Increment) ) 

#define ThreeDFormat_ResetRotation(This)	\
    ( (This)->lpVtbl -> ResetRotation(This) ) 

#define ThreeDFormat_SetThreeDFormat(This,PresetThreeDFormat)	\
    ( (This)->lpVtbl -> SetThreeDFormat(This,PresetThreeDFormat) ) 

#define ThreeDFormat_SetExtrusionDirection(This,PresetExtrusionDirection)	\
    ( (This)->lpVtbl -> SetExtrusionDirection(This,PresetExtrusionDirection) ) 

#define ThreeDFormat_get_Depth(This,Depth)	\
    ( (This)->lpVtbl -> get_Depth(This,Depth) ) 

#define ThreeDFormat_put_Depth(This,Depth)	\
    ( (This)->lpVtbl -> put_Depth(This,Depth) ) 

#define ThreeDFormat_get_ExtrusionColor(This,ExtrusionColor)	\
    ( (This)->lpVtbl -> get_ExtrusionColor(This,ExtrusionColor) ) 

#define ThreeDFormat_get_ExtrusionColorType(This,ExtrusionColorType)	\
    ( (This)->lpVtbl -> get_ExtrusionColorType(This,ExtrusionColorType) ) 

#define ThreeDFormat_put_ExtrusionColorType(This,ExtrusionColorType)	\
    ( (This)->lpVtbl -> put_ExtrusionColorType(This,ExtrusionColorType) ) 

#define ThreeDFormat_get_Perspective(This,Perspective)	\
    ( (This)->lpVtbl -> get_Perspective(This,Perspective) ) 

#define ThreeDFormat_put_Perspective(This,Perspective)	\
    ( (This)->lpVtbl -> put_Perspective(This,Perspective) ) 

#define ThreeDFormat_get_PresetExtrusionDirection(This,PresetExtrusionDirection)	\
    ( (This)->lpVtbl -> get_PresetExtrusionDirection(This,PresetExtrusionDirection) ) 

#define ThreeDFormat_get_PresetLightingDirection(This,PresetLightingDirection)	\
    ( (This)->lpVtbl -> get_PresetLightingDirection(This,PresetLightingDirection) ) 

#define ThreeDFormat_put_PresetLightingDirection(This,PresetLightingDirection)	\
    ( (This)->lpVtbl -> put_PresetLightingDirection(This,PresetLightingDirection) ) 

#define ThreeDFormat_get_PresetLightingSoftness(This,PresetLightingSoftness)	\
    ( (This)->lpVtbl -> get_PresetLightingSoftness(This,PresetLightingSoftness) ) 

#define ThreeDFormat_put_PresetLightingSoftness(This,PresetLightingSoftness)	\
    ( (This)->lpVtbl -> put_PresetLightingSoftness(This,PresetLightingSoftness) ) 

#define ThreeDFormat_get_PresetMaterial(This,PresetMaterial)	\
    ( (This)->lpVtbl -> get_PresetMaterial(This,PresetMaterial) ) 

#define ThreeDFormat_put_PresetMaterial(This,PresetMaterial)	\
    ( (This)->lpVtbl -> put_PresetMaterial(This,PresetMaterial) ) 

#define ThreeDFormat_get_PresetThreeDFormat(This,PresetThreeDFormat)	\
    ( (This)->lpVtbl -> get_PresetThreeDFormat(This,PresetThreeDFormat) ) 

#define ThreeDFormat_get_RotationX(This,RotationX)	\
    ( (This)->lpVtbl -> get_RotationX(This,RotationX) ) 

#define ThreeDFormat_put_RotationX(This,RotationX)	\
    ( (This)->lpVtbl -> put_RotationX(This,RotationX) ) 

#define ThreeDFormat_get_RotationY(This,RotationY)	\
    ( (This)->lpVtbl -> get_RotationY(This,RotationY) ) 

#define ThreeDFormat_put_RotationY(This,RotationY)	\
    ( (This)->lpVtbl -> put_RotationY(This,RotationY) ) 

#define ThreeDFormat_get_Visible(This,Visible)	\
    ( (This)->lpVtbl -> get_Visible(This,Visible) ) 

#define ThreeDFormat_put_Visible(This,Visible)	\
    ( (This)->lpVtbl -> put_Visible(This,Visible) ) 

#define ThreeDFormat_SetPresetCamera(This,PresetCamera)	\
    ( (This)->lpVtbl -> SetPresetCamera(This,PresetCamera) ) 

#define ThreeDFormat_IncrementRotationZ(This,Increment)	\
    ( (This)->lpVtbl -> IncrementRotationZ(This,Increment) ) 

#define ThreeDFormat_IncrementRotationHorizontal(This,Increment)	\
    ( (This)->lpVtbl -> IncrementRotationHorizontal(This,Increment) ) 

#define ThreeDFormat_IncrementRotationVertical(This,Increment)	\
    ( (This)->lpVtbl -> IncrementRotationVertical(This,Increment) ) 

#define ThreeDFormat_get_PresetLighting(This,PresetLightRigType)	\
    ( (This)->lpVtbl -> get_PresetLighting(This,PresetLightRigType) ) 

#define ThreeDFormat_put_PresetLighting(This,PresetLightRigType)	\
    ( (This)->lpVtbl -> put_PresetLighting(This,PresetLightRigType) ) 

#define ThreeDFormat_get_Z(This,Z)	\
    ( (This)->lpVtbl -> get_Z(This,Z) ) 

#define ThreeDFormat_put_Z(This,Z)	\
    ( (This)->lpVtbl -> put_Z(This,Z) ) 

#define ThreeDFormat_get_BevelTopType(This,BevelTopType)	\
    ( (This)->lpVtbl -> get_BevelTopType(This,BevelTopType) ) 

#define ThreeDFormat_put_BevelTopType(This,BevelTopType)	\
    ( (This)->lpVtbl -> put_BevelTopType(This,BevelTopType) ) 

#define ThreeDFormat_get_BevelTopInset(This,BevelTopInset)	\
    ( (This)->lpVtbl -> get_BevelTopInset(This,BevelTopInset) ) 

#define ThreeDFormat_put_BevelTopInset(This,BevelTopInset)	\
    ( (This)->lpVtbl -> put_BevelTopInset(This,BevelTopInset) ) 

#define ThreeDFormat_get_BevelTopDepth(This,BevelTopDepth)	\
    ( (This)->lpVtbl -> get_BevelTopDepth(This,BevelTopDepth) ) 

#define ThreeDFormat_put_BevelTopDepth(This,BevelTopDepth)	\
    ( (This)->lpVtbl -> put_BevelTopDepth(This,BevelTopDepth) ) 

#define ThreeDFormat_get_BevelBottomType(This,BevelBottomType)	\
    ( (This)->lpVtbl -> get_BevelBottomType(This,BevelBottomType) ) 

#define ThreeDFormat_put_BevelBottomType(This,BevelBottomType)	\
    ( (This)->lpVtbl -> put_BevelBottomType(This,BevelBottomType) ) 

#define ThreeDFormat_get_BevelBottomInset(This,BevelBottomInset)	\
    ( (This)->lpVtbl -> get_BevelBottomInset(This,BevelBottomInset) ) 

#define ThreeDFormat_put_BevelBottomInset(This,BevelBottomInset)	\
    ( (This)->lpVtbl -> put_BevelBottomInset(This,BevelBottomInset) ) 

#define ThreeDFormat_get_BevelBottomDepth(This,BevelBottomDepth)	\
    ( (This)->lpVtbl -> get_BevelBottomDepth(This,BevelBottomDepth) ) 

#define ThreeDFormat_put_BevelBottomDepth(This,BevelBottomDepth)	\
    ( (This)->lpVtbl -> put_BevelBottomDepth(This,BevelBottomDepth) ) 

#define ThreeDFormat_get_PresetCamera(This,PresetCamera)	\
    ( (This)->lpVtbl -> get_PresetCamera(This,PresetCamera) ) 

#define ThreeDFormat_get_RotationZ(This,RotationZ)	\
    ( (This)->lpVtbl -> get_RotationZ(This,RotationZ) ) 

#define ThreeDFormat_put_RotationZ(This,RotationZ)	\
    ( (This)->lpVtbl -> put_RotationZ(This,RotationZ) ) 

#define ThreeDFormat_get_ContourWidth(This,Width)	\
    ( (This)->lpVtbl -> get_ContourWidth(This,Width) ) 

#define ThreeDFormat_put_ContourWidth(This,Width)	\
    ( (This)->lpVtbl -> put_ContourWidth(This,Width) ) 

#define ThreeDFormat_get_ContourColor(This,ContourColor)	\
    ( (This)->lpVtbl -> get_ContourColor(This,ContourColor) ) 

#define ThreeDFormat_get_FieldOfView(This,FOV)	\
    ( (This)->lpVtbl -> get_FieldOfView(This,FOV) ) 

#define ThreeDFormat_put_FieldOfView(This,FOV)	\
    ( (This)->lpVtbl -> put_FieldOfView(This,FOV) ) 

#define ThreeDFormat_get_ProjectText(This,ProjectText)	\
    ( (This)->lpVtbl -> get_ProjectText(This,ProjectText) ) 

#define ThreeDFormat_put_ProjectText(This,ProjectText)	\
    ( (This)->lpVtbl -> put_ProjectText(This,ProjectText) ) 

#define ThreeDFormat_get_LightAngle(This,LightAngle)	\
    ( (This)->lpVtbl -> get_LightAngle(This,LightAngle) ) 

#define ThreeDFormat_put_LightAngle(This,LightAngle)	\
    ( (This)->lpVtbl -> put_LightAngle(This,LightAngle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ThreeDFormat_INTERFACE_DEFINED__ */


#ifndef __IMsoDispCagNotifySink_INTERFACE_DEFINED__
#define __IMsoDispCagNotifySink_INTERFACE_DEFINED__

/* interface IMsoDispCagNotifySink */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoDispCagNotifySink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0359-0000-0000-C000-000000000046")
    IMsoDispCagNotifySink : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE InsertClip( 
            /* [in] */ IUnknown *pClipMoniker,
            /* [in] */ IUnknown *pItemMoniker) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE WindowIsClosing( void) = 0;
        
    };
    
#else 	/* C style interface */

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

    interface IMsoDispCagNotifySink
    {
        CONST_VTBL struct IMsoDispCagNotifySinkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IMsoDispCagNotifySink_InsertClip(This,pClipMoniker,pItemMoniker)	\
    ( (This)->lpVtbl -> InsertClip(This,pClipMoniker,pItemMoniker) ) 

#define IMsoDispCagNotifySink_WindowIsClosing(This)	\
    ( (This)->lpVtbl -> WindowIsClosing(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoDispCagNotifySink_INTERFACE_DEFINED__ */


#ifndef __Balloon_INTERFACE_DEFINED__
#define __Balloon_INTERFACE_DEFINED__

/* interface Balloon */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_Balloon;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0324-0000-0000-C000-000000000046")
    Balloon : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Checkboxes( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Labels( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_BalloonType( 
            /* [in] */ MsoBalloonType pbty) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BalloonType( 
            /* [retval][out] */ MsoBalloonType *pbty) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Icon( 
            /* [in] */ MsoIconType picn) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Icon( 
            /* [retval][out] */ MsoIconType *picn) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Heading( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Heading( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Mode( 
            /* [in] */ MsoModeType pmd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Mode( 
            /* [retval][out] */ MsoModeType *pmd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Animation( 
            /* [in] */ MsoAnimationType pfca) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Animation( 
            /* [retval][out] */ MsoAnimationType *pfca) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Button( 
            /* [in] */ MsoButtonSetType psbs) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Button( 
            /* [retval][out] */ MsoButtonSetType *psbs) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Callback( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Callback( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Private( 
            /* [in] */ long plPrivate) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Private( 
            /* [retval][out] */ long *plPrivate) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetAvoidRectangle( 
            /* [in] */ int Left,
            /* [in] */ int Top,
            /* [in] */ int Right,
            /* [in] */ int Bottom) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Show( 
            /* [retval][out] */ MsoBalloonButtonType *pibtn) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct BalloonVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Balloon * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Balloon * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Balloon * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Balloon * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Balloon * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Balloon * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Balloon * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Balloon * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Balloon * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Balloon * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Checkboxes )( 
            Balloon * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Labels )( 
            Balloon * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BalloonType )( 
            Balloon * This,
            /* [in] */ MsoBalloonType pbty);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BalloonType )( 
            Balloon * This,
            /* [retval][out] */ MsoBalloonType *pbty);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Icon )( 
            Balloon * This,
            /* [in] */ MsoIconType picn);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Icon )( 
            Balloon * This,
            /* [retval][out] */ MsoIconType *picn);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Heading )( 
            Balloon * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Heading )( 
            Balloon * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            Balloon * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            Balloon * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
            Balloon * This,
            /* [in] */ MsoModeType pmd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
            Balloon * This,
            /* [retval][out] */ MsoModeType *pmd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Animation )( 
            Balloon * This,
            /* [in] */ MsoAnimationType pfca);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Animation )( 
            Balloon * This,
            /* [retval][out] */ MsoAnimationType *pfca);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Button )( 
            Balloon * This,
            /* [in] */ MsoButtonSetType psbs);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Button )( 
            Balloon * This,
            /* [retval][out] */ MsoButtonSetType *psbs);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Callback )( 
            Balloon * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Callback )( 
            Balloon * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Private )( 
            Balloon * This,
            /* [in] */ long plPrivate);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Private )( 
            Balloon * This,
            /* [retval][out] */ long *plPrivate);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetAvoidRectangle )( 
            Balloon * This,
            /* [in] */ int Left,
            /* [in] */ int Top,
            /* [in] */ int Right,
            /* [in] */ int Bottom);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            Balloon * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Show )( 
            Balloon * This,
            /* [retval][out] */ MsoBalloonButtonType *pibtn);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            Balloon * This);
        
        END_INTERFACE
    } BalloonVtbl;

    interface Balloon
    {
        CONST_VTBL struct BalloonVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define Balloon_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Balloon_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Balloon_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define Balloon_get_Checkboxes(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Checkboxes(This,ppidisp) ) 

#define Balloon_get_Labels(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Labels(This,ppidisp) ) 

#define Balloon_put_BalloonType(This,pbty)	\
    ( (This)->lpVtbl -> put_BalloonType(This,pbty) ) 

#define Balloon_get_BalloonType(This,pbty)	\
    ( (This)->lpVtbl -> get_BalloonType(This,pbty) ) 

#define Balloon_put_Icon(This,picn)	\
    ( (This)->lpVtbl -> put_Icon(This,picn) ) 

#define Balloon_get_Icon(This,picn)	\
    ( (This)->lpVtbl -> get_Icon(This,picn) ) 

#define Balloon_put_Heading(This,pbstr)	\
    ( (This)->lpVtbl -> put_Heading(This,pbstr) ) 

#define Balloon_get_Heading(This,pbstr)	\
    ( (This)->lpVtbl -> get_Heading(This,pbstr) ) 

#define Balloon_put_Text(This,pbstr)	\
    ( (This)->lpVtbl -> put_Text(This,pbstr) ) 

#define Balloon_get_Text(This,pbstr)	\
    ( (This)->lpVtbl -> get_Text(This,pbstr) ) 

#define Balloon_put_Mode(This,pmd)	\
    ( (This)->lpVtbl -> put_Mode(This,pmd) ) 

#define Balloon_get_Mode(This,pmd)	\
    ( (This)->lpVtbl -> get_Mode(This,pmd) ) 

#define Balloon_put_Animation(This,pfca)	\
    ( (This)->lpVtbl -> put_Animation(This,pfca) ) 

#define Balloon_get_Animation(This,pfca)	\
    ( (This)->lpVtbl -> get_Animation(This,pfca) ) 

#define Balloon_put_Button(This,psbs)	\
    ( (This)->lpVtbl -> put_Button(This,psbs) ) 

#define Balloon_get_Button(This,psbs)	\
    ( (This)->lpVtbl -> get_Button(This,psbs) ) 

#define Balloon_put_Callback(This,pbstr)	\
    ( (This)->lpVtbl -> put_Callback(This,pbstr) ) 

#define Balloon_get_Callback(This,pbstr)	\
    ( (This)->lpVtbl -> get_Callback(This,pbstr) ) 

#define Balloon_put_Private(This,plPrivate)	\
    ( (This)->lpVtbl -> put_Private(This,plPrivate) ) 

#define Balloon_get_Private(This,plPrivate)	\
    ( (This)->lpVtbl -> get_Private(This,plPrivate) ) 

#define Balloon_SetAvoidRectangle(This,Left,Top,Right,Bottom)	\
    ( (This)->lpVtbl -> SetAvoidRectangle(This,Left,Top,Right,Bottom) ) 

#define Balloon_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define Balloon_Show(This,pibtn)	\
    ( (This)->lpVtbl -> Show(This,pibtn) ) 

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

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Balloon_INTERFACE_DEFINED__ */


#ifndef __BalloonCheckboxes_INTERFACE_DEFINED__
#define __BalloonCheckboxes_INTERFACE_DEFINED__

/* interface BalloonCheckboxes */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_BalloonCheckboxes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0326-0000-0000-C000-000000000046")
    BalloonCheckboxes : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pccbx) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Count( 
            /* [in] */ int pccbx) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct BalloonCheckboxesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            BalloonCheckboxes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            BalloonCheckboxes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            BalloonCheckboxes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            BalloonCheckboxes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            BalloonCheckboxes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            BalloonCheckboxes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            BalloonCheckboxes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            BalloonCheckboxes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            BalloonCheckboxes * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            BalloonCheckboxes * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            BalloonCheckboxes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            BalloonCheckboxes * This,
            /* [in] */ int Index,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            BalloonCheckboxes * This,
            /* [retval][out] */ int *pccbx);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Count )( 
            BalloonCheckboxes * This,
            /* [in] */ int pccbx);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            BalloonCheckboxes * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        END_INTERFACE
    } BalloonCheckboxesVtbl;

    interface BalloonCheckboxes
    {
        CONST_VTBL struct BalloonCheckboxesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define BalloonCheckboxes_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define BalloonCheckboxes_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define BalloonCheckboxes_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define BalloonCheckboxes_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define BalloonCheckboxes_get_Item(This,Index,ppidisp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppidisp) ) 

#define BalloonCheckboxes_get_Count(This,pccbx)	\
    ( (This)->lpVtbl -> get_Count(This,pccbx) ) 

#define BalloonCheckboxes_put_Count(This,pccbx)	\
    ( (This)->lpVtbl -> put_Count(This,pccbx) ) 

#define BalloonCheckboxes_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __BalloonCheckboxes_INTERFACE_DEFINED__ */


#ifndef __BalloonCheckbox_INTERFACE_DEFINED__
#define __BalloonCheckbox_INTERFACE_DEFINED__

/* interface BalloonCheckbox */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_BalloonCheckbox;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0328-0000-0000-C000-000000000046")
    BalloonCheckbox : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Checked( 
            /* [in] */ VARIANT_BOOL pvarfChecked) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Checked( 
            /* [retval][out] */ VARIANT_BOOL *pvarfChecked) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct BalloonCheckboxVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            BalloonCheckbox * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            BalloonCheckbox * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            BalloonCheckbox * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            BalloonCheckbox * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            BalloonCheckbox * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            BalloonCheckbox * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            BalloonCheckbox * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            BalloonCheckbox * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            BalloonCheckbox * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            BalloonCheckbox * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            BalloonCheckbox * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            BalloonCheckbox * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Checked )( 
            BalloonCheckbox * This,
            /* [in] */ VARIANT_BOOL pvarfChecked);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Checked )( 
            BalloonCheckbox * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfChecked);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            BalloonCheckbox * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            BalloonCheckbox * This,
            /* [retval][out] */ BSTR *pbstr);
        
        END_INTERFACE
    } BalloonCheckboxVtbl;

    interface BalloonCheckbox
    {
        CONST_VTBL struct BalloonCheckboxVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define BalloonCheckbox_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define BalloonCheckbox_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define BalloonCheckbox_get_Item(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Item(This,pbstrName) ) 

#define BalloonCheckbox_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define BalloonCheckbox_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define BalloonCheckbox_put_Checked(This,pvarfChecked)	\
    ( (This)->lpVtbl -> put_Checked(This,pvarfChecked) ) 

#define BalloonCheckbox_get_Checked(This,pvarfChecked)	\
    ( (This)->lpVtbl -> get_Checked(This,pvarfChecked) ) 

#define BalloonCheckbox_put_Text(This,pbstr)	\
    ( (This)->lpVtbl -> put_Text(This,pbstr) ) 

#define BalloonCheckbox_get_Text(This,pbstr)	\
    ( (This)->lpVtbl -> get_Text(This,pbstr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __BalloonCheckbox_INTERFACE_DEFINED__ */


#ifndef __BalloonLabels_INTERFACE_DEFINED__
#define __BalloonLabels_INTERFACE_DEFINED__

/* interface BalloonLabels */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_BalloonLabels;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C032E-0000-0000-C000-000000000046")
    BalloonLabels : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pcwz) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Count( 
            /* [in] */ int pcwz) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct BalloonLabelsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            BalloonLabels * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            BalloonLabels * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            BalloonLabels * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            BalloonLabels * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            BalloonLabels * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            BalloonLabels * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            BalloonLabels * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            BalloonLabels * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            BalloonLabels * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            BalloonLabels * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            BalloonLabels * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            BalloonLabels * This,
            /* [in] */ int Index,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            BalloonLabels * This,
            /* [retval][out] */ int *pcwz);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Count )( 
            BalloonLabels * This,
            /* [in] */ int pcwz);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            BalloonLabels * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        END_INTERFACE
    } BalloonLabelsVtbl;

    interface BalloonLabels
    {
        CONST_VTBL struct BalloonLabelsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define BalloonLabels_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define BalloonLabels_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define BalloonLabels_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define BalloonLabels_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define BalloonLabels_get_Item(This,Index,ppidisp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppidisp) ) 

#define BalloonLabels_get_Count(This,pcwz)	\
    ( (This)->lpVtbl -> get_Count(This,pcwz) ) 

#define BalloonLabels_put_Count(This,pcwz)	\
    ( (This)->lpVtbl -> put_Count(This,pcwz) ) 

#define BalloonLabels_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __BalloonLabels_INTERFACE_DEFINED__ */


#ifndef __BalloonLabel_INTERFACE_DEFINED__
#define __BalloonLabel_INTERFACE_DEFINED__

/* interface BalloonLabel */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_BalloonLabel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0330-0000-0000-C000-000000000046")
    BalloonLabel : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct BalloonLabelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            BalloonLabel * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            BalloonLabel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            BalloonLabel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            BalloonLabel * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            BalloonLabel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            BalloonLabel * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            BalloonLabel * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            BalloonLabel * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            BalloonLabel * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            BalloonLabel * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            BalloonLabel * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            BalloonLabel * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            BalloonLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            BalloonLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        END_INTERFACE
    } BalloonLabelVtbl;

    interface BalloonLabel
    {
        CONST_VTBL struct BalloonLabelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define BalloonLabel_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define BalloonLabel_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define BalloonLabel_get_Item(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Item(This,pbstrName) ) 

#define BalloonLabel_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define BalloonLabel_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define BalloonLabel_put_Text(This,pbstr)	\
    ( (This)->lpVtbl -> put_Text(This,pbstr) ) 

#define BalloonLabel_get_Text(This,pbstr)	\
    ( (This)->lpVtbl -> get_Text(This,pbstr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __BalloonLabel_INTERFACE_DEFINED__ */


#ifndef __AnswerWizardFiles_INTERFACE_DEFINED__
#define __AnswerWizardFiles_INTERFACE_DEFINED__

/* interface AnswerWizardFiles */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_AnswerWizardFiles;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0361-0000-0000-C000-000000000046")
    AnswerWizardFiles : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pCount) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ BSTR FileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct AnswerWizardFilesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            AnswerWizardFiles * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            AnswerWizardFiles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            AnswerWizardFiles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            AnswerWizardFiles * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            AnswerWizardFiles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            AnswerWizardFiles * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            AnswerWizardFiles * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            AnswerWizardFiles * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            AnswerWizardFiles * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            AnswerWizardFiles * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            AnswerWizardFiles * This,
            /* [in] */ int Index,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            AnswerWizardFiles * This,
            /* [retval][out] */ int *pCount);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            AnswerWizardFiles * This,
            /* [in] */ BSTR FileName);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            AnswerWizardFiles * This,
            /* [in] */ BSTR FileName);
        
        END_INTERFACE
    } AnswerWizardFilesVtbl;

    interface AnswerWizardFiles
    {
        CONST_VTBL struct AnswerWizardFilesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define AnswerWizardFiles_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define AnswerWizardFiles_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define AnswerWizardFiles_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define AnswerWizardFiles_get_Item(This,Index,pbstr)	\
    ( (This)->lpVtbl -> get_Item(This,Index,pbstr) ) 

#define AnswerWizardFiles_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define AnswerWizardFiles_Add(This,FileName)	\
    ( (This)->lpVtbl -> Add(This,FileName) ) 

#define AnswerWizardFiles_Delete(This,FileName)	\
    ( (This)->lpVtbl -> Delete(This,FileName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __AnswerWizardFiles_INTERFACE_DEFINED__ */


#ifndef __AnswerWizard_INTERFACE_DEFINED__
#define __AnswerWizard_INTERFACE_DEFINED__

/* interface AnswerWizard */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_AnswerWizard;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0360-0000-0000-C000-000000000046")
    AnswerWizard : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Files( 
            /* [retval][out] */ AnswerWizardFiles **Files) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClearFileList( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ResetFileList( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct AnswerWizardVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            AnswerWizard * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            AnswerWizard * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            AnswerWizard * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            AnswerWizard * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            AnswerWizard * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            AnswerWizard * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            AnswerWizard * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            AnswerWizard * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            AnswerWizard * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            AnswerWizard * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Files )( 
            AnswerWizard * This,
            /* [retval][out] */ AnswerWizardFiles **Files);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClearFileList )( 
            AnswerWizard * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ResetFileList )( 
            AnswerWizard * This);
        
        END_INTERFACE
    } AnswerWizardVtbl;

    interface AnswerWizard
    {
        CONST_VTBL struct AnswerWizardVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define AnswerWizard_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define AnswerWizard_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define AnswerWizard_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define AnswerWizard_get_Files(This,Files)	\
    ( (This)->lpVtbl -> get_Files(This,Files) ) 

#define AnswerWizard_ClearFileList(This)	\
    ( (This)->lpVtbl -> ClearFileList(This) ) 

#define AnswerWizard_ResetFileList(This)	\
    ( (This)->lpVtbl -> ResetFileList(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __AnswerWizard_INTERFACE_DEFINED__ */


#ifndef __Assistant_INTERFACE_DEFINED__
#define __Assistant_INTERFACE_DEFINED__

/* interface Assistant */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_Assistant;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0322-0000-0000-C000-000000000046")
    Assistant : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ int xLeft,
            /* [in] */ int yTop) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ int pyTop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ int *pyTop) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ int pxLeft) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ int *pxLeft) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Help( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE StartWizard( 
            /* [in] */ VARIANT_BOOL On,
            /* [in] */ BSTR Callback,
            /* [in] */ long PrivateX,
            /* [optional][in] */ VARIANT Animation,
            /* [optional][in] */ VARIANT CustomTeaser,
            /* [optional][in] */ VARIANT Top,
            /* [optional][in] */ VARIANT Left,
            /* [optional][in] */ VARIANT Bottom,
            /* [optional][in] */ VARIANT Right,
            /* [retval][out] */ long *plWizID) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE EndWizard( 
            /* [in] */ long WizardID,
            /* [in] */ VARIANT_BOOL varfSuccess,
            /* [optional][in] */ VARIANT Animation) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ActivateWizard( 
            /* [in] */ long WizardID,
            /* [in] */ MsoWizardActType act,
            /* [optional][in] */ VARIANT Animation) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ResetTips( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NewBalloon( 
            /* [retval][out] */ Balloon **ppibal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BalloonError( 
            /* [retval][out] */ MsoBalloonErrorType *pbne) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *pvarfVisible) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL pvarfVisible) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Animation( 
            /* [retval][out] */ MsoAnimationType *pfca) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Animation( 
            /* [in] */ MsoAnimationType pfca) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Reduced( 
            /* [retval][out] */ VARIANT_BOOL *pvarfReduced) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Reduced( 
            /* [in] */ VARIANT_BOOL pvarfReduced) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AssistWithHelp( 
            /* [in] */ VARIANT_BOOL pvarfAssistWithHelp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AssistWithHelp( 
            /* [retval][out] */ VARIANT_BOOL *pvarfAssistWithHelp) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AssistWithWizards( 
            /* [in] */ VARIANT_BOOL pvarfAssistWithWizards) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AssistWithWizards( 
            /* [retval][out] */ VARIANT_BOOL *pvarfAssistWithWizards) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AssistWithAlerts( 
            /* [in] */ VARIANT_BOOL pvarfAssistWithAlerts) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AssistWithAlerts( 
            /* [retval][out] */ VARIANT_BOOL *pvarfAssistWithAlerts) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MoveWhenInTheWay( 
            /* [in] */ VARIANT_BOOL pvarfMove) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MoveWhenInTheWay( 
            /* [retval][out] */ VARIANT_BOOL *pvarfMove) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Sounds( 
            /* [in] */ VARIANT_BOOL pvarfSounds) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Sounds( 
            /* [retval][out] */ VARIANT_BOOL *pvarfSounds) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_FeatureTips( 
            /* [in] */ VARIANT_BOOL pvarfFeatures) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FeatureTips( 
            /* [retval][out] */ VARIANT_BOOL *pvarfFeatures) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MouseTips( 
            /* [in] */ VARIANT_BOOL pvarfMouse) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MouseTips( 
            /* [retval][out] */ VARIANT_BOOL *pvarfMouse) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyboardShortcutTips( 
            /* [in] */ VARIANT_BOOL pvarfKeyboardShortcuts) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyboardShortcutTips( 
            /* [retval][out] */ VARIANT_BOOL *pvarfKeyboardShortcuts) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_HighPriorityTips( 
            /* [in] */ VARIANT_BOOL pvarfHighPriorityTips) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HighPriorityTips( 
            /* [retval][out] */ VARIANT_BOOL *pvarfHighPriorityTips) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_TipOfDay( 
            /* [in] */ VARIANT_BOOL pvarfTipOfDay) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_TipOfDay( 
            /* [retval][out] */ VARIANT_BOOL *pvarfTipOfDay) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_GuessHelp( 
            /* [in] */ VARIANT_BOOL pvarfGuessHelp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_GuessHelp( 
            /* [retval][out] */ VARIANT_BOOL *pvarfGuessHelp) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SearchWhenProgramming( 
            /* [in] */ VARIANT_BOOL pvarfSearchInProgram) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SearchWhenProgramming( 
            /* [retval][out] */ VARIANT_BOOL *pvarfSearchInProgram) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FileName( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_FileName( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_On( 
            /* [retval][out] */ VARIANT_BOOL *pvarfOn) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_On( 
            /* [in] */ VARIANT_BOOL pvarfOn) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE DoAlert( 
            /* [in] */ BSTR bstrAlertTitle,
            /* [in] */ BSTR bstrAlertText,
            /* [in] */ MsoAlertButtonType alb,
            /* [in] */ MsoAlertIconType alc,
            /* [in] */ MsoAlertDefaultType ald,
            /* [in] */ MsoAlertCancelType alq,
            /* [in] */ VARIANT_BOOL varfSysAlert,
            /* [retval][out] */ int *pibtn) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct AssistantVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Assistant * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Assistant * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Assistant * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Assistant * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Assistant * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Assistant * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Assistant * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Assistant * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Assistant * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Assistant * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            Assistant * This,
            /* [in] */ int xLeft,
            /* [in] */ int yTop);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            Assistant * This,
            /* [in] */ int pyTop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            Assistant * This,
            /* [retval][out] */ int *pyTop);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            Assistant * This,
            /* [in] */ int pxLeft);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            Assistant * This,
            /* [retval][out] */ int *pxLeft);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Help )( 
            Assistant * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *StartWizard )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL On,
            /* [in] */ BSTR Callback,
            /* [in] */ long PrivateX,
            /* [optional][in] */ VARIANT Animation,
            /* [optional][in] */ VARIANT CustomTeaser,
            /* [optional][in] */ VARIANT Top,
            /* [optional][in] */ VARIANT Left,
            /* [optional][in] */ VARIANT Bottom,
            /* [optional][in] */ VARIANT Right,
            /* [retval][out] */ long *plWizID);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *EndWizard )( 
            Assistant * This,
            /* [in] */ long WizardID,
            /* [in] */ VARIANT_BOOL varfSuccess,
            /* [optional][in] */ VARIANT Animation);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ActivateWizard )( 
            Assistant * This,
            /* [in] */ long WizardID,
            /* [in] */ MsoWizardActType act,
            /* [optional][in] */ VARIANT Animation);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ResetTips )( 
            Assistant * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NewBalloon )( 
            Assistant * This,
            /* [retval][out] */ Balloon **ppibal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BalloonError )( 
            Assistant * This,
            /* [retval][out] */ MsoBalloonErrorType *pbne);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfVisible);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfVisible);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Animation )( 
            Assistant * This,
            /* [retval][out] */ MsoAnimationType *pfca);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Animation )( 
            Assistant * This,
            /* [in] */ MsoAnimationType pfca);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Reduced )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfReduced);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Reduced )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfReduced);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AssistWithHelp )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfAssistWithHelp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AssistWithHelp )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfAssistWithHelp);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AssistWithWizards )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfAssistWithWizards);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AssistWithWizards )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfAssistWithWizards);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AssistWithAlerts )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfAssistWithAlerts);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AssistWithAlerts )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfAssistWithAlerts);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MoveWhenInTheWay )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfMove);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MoveWhenInTheWay )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfMove);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Sounds )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfSounds);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Sounds )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfSounds);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FeatureTips )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfFeatures);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FeatureTips )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfFeatures);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MouseTips )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfMouse);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MouseTips )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfMouse);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardShortcutTips )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfKeyboardShortcuts);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardShortcutTips )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfKeyboardShortcuts);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HighPriorityTips )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfHighPriorityTips);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HighPriorityTips )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfHighPriorityTips);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TipOfDay )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfTipOfDay);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TipOfDay )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfTipOfDay);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GuessHelp )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfGuessHelp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GuessHelp )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfGuessHelp);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SearchWhenProgramming )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfSearchInProgram);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SearchWhenProgramming )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfSearchInProgram);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            Assistant * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FileName )( 
            Assistant * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FileName )( 
            Assistant * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            Assistant * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_On )( 
            Assistant * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfOn);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_On )( 
            Assistant * This,
            /* [in] */ VARIANT_BOOL pvarfOn);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *DoAlert )( 
            Assistant * This,
            /* [in] */ BSTR bstrAlertTitle,
            /* [in] */ BSTR bstrAlertText,
            /* [in] */ MsoAlertButtonType alb,
            /* [in] */ MsoAlertIconType alc,
            /* [in] */ MsoAlertDefaultType ald,
            /* [in] */ MsoAlertCancelType alq,
            /* [in] */ VARIANT_BOOL varfSysAlert,
            /* [retval][out] */ int *pibtn);
        
        END_INTERFACE
    } AssistantVtbl;

    interface Assistant
    {
        CONST_VTBL struct AssistantVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define Assistant_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Assistant_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Assistant_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define Assistant_Move(This,xLeft,yTop)	\
    ( (This)->lpVtbl -> Move(This,xLeft,yTop) ) 

#define Assistant_put_Top(This,pyTop)	\
    ( (This)->lpVtbl -> put_Top(This,pyTop) ) 

#define Assistant_get_Top(This,pyTop)	\
    ( (This)->lpVtbl -> get_Top(This,pyTop) ) 

#define Assistant_put_Left(This,pxLeft)	\
    ( (This)->lpVtbl -> put_Left(This,pxLeft) ) 

#define Assistant_get_Left(This,pxLeft)	\
    ( (This)->lpVtbl -> get_Left(This,pxLeft) ) 

#define Assistant_Help(This)	\
    ( (This)->lpVtbl -> Help(This) ) 

#define Assistant_StartWizard(This,On,Callback,PrivateX,Animation,CustomTeaser,Top,Left,Bottom,Right,plWizID)	\
    ( (This)->lpVtbl -> StartWizard(This,On,Callback,PrivateX,Animation,CustomTeaser,Top,Left,Bottom,Right,plWizID) ) 

#define Assistant_EndWizard(This,WizardID,varfSuccess,Animation)	\
    ( (This)->lpVtbl -> EndWizard(This,WizardID,varfSuccess,Animation) ) 

#define Assistant_ActivateWizard(This,WizardID,act,Animation)	\
    ( (This)->lpVtbl -> ActivateWizard(This,WizardID,act,Animation) ) 

#define Assistant_ResetTips(This)	\
    ( (This)->lpVtbl -> ResetTips(This) ) 

#define Assistant_get_NewBalloon(This,ppibal)	\
    ( (This)->lpVtbl -> get_NewBalloon(This,ppibal) ) 

#define Assistant_get_BalloonError(This,pbne)	\
    ( (This)->lpVtbl -> get_BalloonError(This,pbne) ) 

#define Assistant_get_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,pvarfVisible) ) 

#define Assistant_put_Visible(This,pvarfVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,pvarfVisible) ) 

#define Assistant_get_Animation(This,pfca)	\
    ( (This)->lpVtbl -> get_Animation(This,pfca) ) 

#define Assistant_put_Animation(This,pfca)	\
    ( (This)->lpVtbl -> put_Animation(This,pfca) ) 

#define Assistant_get_Reduced(This,pvarfReduced)	\
    ( (This)->lpVtbl -> get_Reduced(This,pvarfReduced) ) 

#define Assistant_put_Reduced(This,pvarfReduced)	\
    ( (This)->lpVtbl -> put_Reduced(This,pvarfReduced) ) 

#define Assistant_put_AssistWithHelp(This,pvarfAssistWithHelp)	\
    ( (This)->lpVtbl -> put_AssistWithHelp(This,pvarfAssistWithHelp) ) 

#define Assistant_get_AssistWithHelp(This,pvarfAssistWithHelp)	\
    ( (This)->lpVtbl -> get_AssistWithHelp(This,pvarfAssistWithHelp) ) 

#define Assistant_put_AssistWithWizards(This,pvarfAssistWithWizards)	\
    ( (This)->lpVtbl -> put_AssistWithWizards(This,pvarfAssistWithWizards) ) 

#define Assistant_get_AssistWithWizards(This,pvarfAssistWithWizards)	\
    ( (This)->lpVtbl -> get_AssistWithWizards(This,pvarfAssistWithWizards) ) 

#define Assistant_put_AssistWithAlerts(This,pvarfAssistWithAlerts)	\
    ( (This)->lpVtbl -> put_AssistWithAlerts(This,pvarfAssistWithAlerts) ) 

#define Assistant_get_AssistWithAlerts(This,pvarfAssistWithAlerts)	\
    ( (This)->lpVtbl -> get_AssistWithAlerts(This,pvarfAssistWithAlerts) ) 

#define Assistant_put_MoveWhenInTheWay(This,pvarfMove)	\
    ( (This)->lpVtbl -> put_MoveWhenInTheWay(This,pvarfMove) ) 

#define Assistant_get_MoveWhenInTheWay(This,pvarfMove)	\
    ( (This)->lpVtbl -> get_MoveWhenInTheWay(This,pvarfMove) ) 

#define Assistant_put_Sounds(This,pvarfSounds)	\
    ( (This)->lpVtbl -> put_Sounds(This,pvarfSounds) ) 

#define Assistant_get_Sounds(This,pvarfSounds)	\
    ( (This)->lpVtbl -> get_Sounds(This,pvarfSounds) ) 

#define Assistant_put_FeatureTips(This,pvarfFeatures)	\
    ( (This)->lpVtbl -> put_FeatureTips(This,pvarfFeatures) ) 

#define Assistant_get_FeatureTips(This,pvarfFeatures)	\
    ( (This)->lpVtbl -> get_FeatureTips(This,pvarfFeatures) ) 

#define Assistant_put_MouseTips(This,pvarfMouse)	\
    ( (This)->lpVtbl -> put_MouseTips(This,pvarfMouse) ) 

#define Assistant_get_MouseTips(This,pvarfMouse)	\
    ( (This)->lpVtbl -> get_MouseTips(This,pvarfMouse) ) 

#define Assistant_put_KeyboardShortcutTips(This,pvarfKeyboardShortcuts)	\
    ( (This)->lpVtbl -> put_KeyboardShortcutTips(This,pvarfKeyboardShortcuts) ) 

#define Assistant_get_KeyboardShortcutTips(This,pvarfKeyboardShortcuts)	\
    ( (This)->lpVtbl -> get_KeyboardShortcutTips(This,pvarfKeyboardShortcuts) ) 

#define Assistant_put_HighPriorityTips(This,pvarfHighPriorityTips)	\
    ( (This)->lpVtbl -> put_HighPriorityTips(This,pvarfHighPriorityTips) ) 

#define Assistant_get_HighPriorityTips(This,pvarfHighPriorityTips)	\
    ( (This)->lpVtbl -> get_HighPriorityTips(This,pvarfHighPriorityTips) ) 

#define Assistant_put_TipOfDay(This,pvarfTipOfDay)	\
    ( (This)->lpVtbl -> put_TipOfDay(This,pvarfTipOfDay) ) 

#define Assistant_get_TipOfDay(This,pvarfTipOfDay)	\
    ( (This)->lpVtbl -> get_TipOfDay(This,pvarfTipOfDay) ) 

#define Assistant_put_GuessHelp(This,pvarfGuessHelp)	\
    ( (This)->lpVtbl -> put_GuessHelp(This,pvarfGuessHelp) ) 

#define Assistant_get_GuessHelp(This,pvarfGuessHelp)	\
    ( (This)->lpVtbl -> get_GuessHelp(This,pvarfGuessHelp) ) 

#define Assistant_put_SearchWhenProgramming(This,pvarfSearchInProgram)	\
    ( (This)->lpVtbl -> put_SearchWhenProgramming(This,pvarfSearchInProgram) ) 

#define Assistant_get_SearchWhenProgramming(This,pvarfSearchInProgram)	\
    ( (This)->lpVtbl -> get_SearchWhenProgramming(This,pvarfSearchInProgram) ) 

#define Assistant_get_Item(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Item(This,pbstrName) ) 

#define Assistant_get_FileName(This,pbstr)	\
    ( (This)->lpVtbl -> get_FileName(This,pbstr) ) 

#define Assistant_put_FileName(This,pbstr)	\
    ( (This)->lpVtbl -> put_FileName(This,pbstr) ) 

#define Assistant_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define Assistant_get_On(This,pvarfOn)	\
    ( (This)->lpVtbl -> get_On(This,pvarfOn) ) 

#define Assistant_put_On(This,pvarfOn)	\
    ( (This)->lpVtbl -> put_On(This,pvarfOn) ) 

#define Assistant_DoAlert(This,bstrAlertTitle,bstrAlertText,alb,alc,ald,alq,varfSysAlert,pibtn)	\
    ( (This)->lpVtbl -> DoAlert(This,bstrAlertTitle,bstrAlertText,alb,alc,ald,alq,varfSysAlert,pibtn) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Assistant_INTERFACE_DEFINED__ */


#ifndef __DocumentProperty_INTERFACE_DEFINED__
#define __DocumentProperty_INTERFACE_DEFINED__

/* interface DocumentProperty */
/* [object][helpcontext][uuid] */ 


extern "C++" const IID IID_DocumentProperty;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2DF8D04E-5BFA-101B-BDE5-00AA0044DE52")
    DocumentProperty : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ IDispatch *__stdcall get_Parent( void) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Delete( void) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Name( 
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ BSTR *pbstrRetVal) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Name( 
            /* [lcid][in] */ long lcid,
            /* [in] */ BSTR pbstrRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT __stdcall get_Value( 
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ VARIANT *pvargRetVal) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Value( 
            /* [lcid][in] */ long lcid,
            /* [in] */ VARIANT pvargRetVal) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Type( 
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ MsoDocProperties *ptypeRetVal) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Type( 
            /* [lcid][in] */ long lcid,
            /* [in] */ MsoDocProperties ptypeRetVal) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_LinkToContent( 
            /* [retval][out] */ VARIANT_BOOL *pfLinkRetVal) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_LinkToContent( 
            /* [in] */ VARIANT_BOOL pfLinkRetVal) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_LinkSource( 
            /* [retval][out] */ BSTR *pbstrSourceRetVal) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_LinkSource( 
            /* [in] */ BSTR pbstrSourceRetVal) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *plCreator) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct DocumentPropertyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            DocumentProperty * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            DocumentProperty * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            DocumentProperty * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            DocumentProperty * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            DocumentProperty * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            DocumentProperty * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DocumentProperty * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ IDispatch *( __stdcall *get_Parent )( 
            DocumentProperty * This);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Delete )( 
            DocumentProperty * This);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Name )( 
            DocumentProperty * This,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ BSTR *pbstrRetVal);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Name )( 
            DocumentProperty * This,
            /* [lcid][in] */ long lcid,
            /* [in] */ BSTR pbstrRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( __stdcall *get_Value )( 
            DocumentProperty * This,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ VARIANT *pvargRetVal);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Value )( 
            DocumentProperty * This,
            /* [lcid][in] */ long lcid,
            /* [in] */ VARIANT pvargRetVal);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Type )( 
            DocumentProperty * This,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ MsoDocProperties *ptypeRetVal);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Type )( 
            DocumentProperty * This,
            /* [lcid][in] */ long lcid,
            /* [in] */ MsoDocProperties ptypeRetVal);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_LinkToContent )( 
            DocumentProperty * This,
            /* [retval][out] */ VARIANT_BOOL *pfLinkRetVal);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_LinkToContent )( 
            DocumentProperty * This,
            /* [in] */ VARIANT_BOOL pfLinkRetVal);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_LinkSource )( 
            DocumentProperty * This,
            /* [retval][out] */ BSTR *pbstrSourceRetVal);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_LinkSource )( 
            DocumentProperty * This,
            /* [in] */ BSTR pbstrSourceRetVal);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            DocumentProperty * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            DocumentProperty * This,
            /* [retval][out] */ long *plCreator);
        
        END_INTERFACE
    } DocumentPropertyVtbl;

    interface DocumentProperty
    {
        CONST_VTBL struct DocumentPropertyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define DocumentProperty_get_Parent(This)	\
    ( (This)->lpVtbl -> get_Parent(This) ) 

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

#define DocumentProperty_get_Name(This,lcid,pbstrRetVal)	\
    ( (This)->lpVtbl -> get_Name(This,lcid,pbstrRetVal) ) 

#define DocumentProperty_put_Name(This,lcid,pbstrRetVal)	\
    ( (This)->lpVtbl -> put_Name(This,lcid,pbstrRetVal) ) 

#define DocumentProperty_get_Value(This,lcid,pvargRetVal)	\
    ( (This)->lpVtbl -> get_Value(This,lcid,pvargRetVal) ) 

#define DocumentProperty_put_Value(This,lcid,pvargRetVal)	\
    ( (This)->lpVtbl -> put_Value(This,lcid,pvargRetVal) ) 

#define DocumentProperty_get_Type(This,lcid,ptypeRetVal)	\
    ( (This)->lpVtbl -> get_Type(This,lcid,ptypeRetVal) ) 

#define DocumentProperty_put_Type(This,lcid,ptypeRetVal)	\
    ( (This)->lpVtbl -> put_Type(This,lcid,ptypeRetVal) ) 

#define DocumentProperty_get_LinkToContent(This,pfLinkRetVal)	\
    ( (This)->lpVtbl -> get_LinkToContent(This,pfLinkRetVal) ) 

#define DocumentProperty_put_LinkToContent(This,pfLinkRetVal)	\
    ( (This)->lpVtbl -> put_LinkToContent(This,pfLinkRetVal) ) 

#define DocumentProperty_get_LinkSource(This,pbstrSourceRetVal)	\
    ( (This)->lpVtbl -> get_LinkSource(This,pbstrSourceRetVal) ) 

#define DocumentProperty_put_LinkSource(This,pbstrSourceRetVal)	\
    ( (This)->lpVtbl -> put_LinkSource(This,pbstrSourceRetVal) ) 

#define DocumentProperty_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define DocumentProperty_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __DocumentProperty_INTERFACE_DEFINED__ */


#ifndef __DocumentProperties_INTERFACE_DEFINED__
#define __DocumentProperties_INTERFACE_DEFINED__

/* interface DocumentProperties */
/* [object][helpcontext][uuid] */ 


extern "C++" const IID IID_DocumentProperties;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2DF8D04D-5BFA-101B-BDE5-00AA0044DE52")
    DocumentProperties : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ IDispatch *__stdcall get_Parent( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT __stdcall get_Item( 
            /* [in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ DocumentProperty **ppIDocProp) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Count( 
            /* [retval][out] */ long *pc) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Add( 
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT_BOOL LinkToContent,
            /* [optional][in] */ VARIANT Type,
            /* [optional][in] */ VARIANT Value,
            /* [optional][in] */ VARIANT LinkSource,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ DocumentProperty **ppIDocProp) = 0;
        
        virtual /* [propget][id] */ HRESULT __stdcall get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *plCreator) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct DocumentPropertiesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            DocumentProperties * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            DocumentProperties * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            DocumentProperties * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            DocumentProperties * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            DocumentProperties * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            DocumentProperties * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DocumentProperties * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ IDispatch *( __stdcall *get_Parent )( 
            DocumentProperties * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( __stdcall *get_Item )( 
            DocumentProperties * This,
            /* [in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ DocumentProperty **ppIDocProp);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Count )( 
            DocumentProperties * This,
            /* [retval][out] */ long *pc);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Add )( 
            DocumentProperties * This,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT_BOOL LinkToContent,
            /* [optional][in] */ VARIANT Type,
            /* [optional][in] */ VARIANT Value,
            /* [optional][in] */ VARIANT LinkSource,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ DocumentProperty **ppIDocProp);
        
        /* [propget][id] */ HRESULT ( __stdcall *get__NewEnum )( 
            DocumentProperties * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            DocumentProperties * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            DocumentProperties * This,
            /* [retval][out] */ long *plCreator);
        
        END_INTERFACE
    } DocumentPropertiesVtbl;

    interface DocumentProperties
    {
        CONST_VTBL struct DocumentPropertiesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define DocumentProperties_get_Parent(This)	\
    ( (This)->lpVtbl -> get_Parent(This) ) 

#define DocumentProperties_get_Item(This,Index,lcid,ppIDocProp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,lcid,ppIDocProp) ) 

#define DocumentProperties_get_Count(This,pc)	\
    ( (This)->lpVtbl -> get_Count(This,pc) ) 

#define DocumentProperties_Add(This,Name,LinkToContent,Type,Value,LinkSource,lcid,ppIDocProp)	\
    ( (This)->lpVtbl -> Add(This,Name,LinkToContent,Type,Value,LinkSource,lcid,ppIDocProp) ) 

#define DocumentProperties_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#define DocumentProperties_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define DocumentProperties_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __DocumentProperties_INTERFACE_DEFINED__ */


#ifndef __IFoundFiles_INTERFACE_DEFINED__
#define __IFoundFiles_INTERFACE_DEFINED__

/* interface IFoundFiles */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IFoundFiles;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0338-0000-0000-C000-000000000046")
    IFoundFiles : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pCount) = 0;
        
        virtual /* [restricted][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IFoundFilesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IFoundFiles * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IFoundFiles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IFoundFiles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IFoundFiles * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IFoundFiles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IFoundFiles * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IFoundFiles * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IFoundFiles * This,
            /* [in] */ int Index,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IFoundFiles * This,
            /* [retval][out] */ int *pCount);
        
        /* [restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IFoundFiles * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } IFoundFilesVtbl;

    interface IFoundFiles
    {
        CONST_VTBL struct IFoundFilesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IFoundFiles_get_Item(This,Index,pbstr)	\
    ( (This)->lpVtbl -> get_Item(This,Index,pbstr) ) 

#define IFoundFiles_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IFoundFiles_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IFoundFiles_INTERFACE_DEFINED__ */


#ifndef __IFind_INTERFACE_DEFINED__
#define __IFind_INTERFACE_DEFINED__

/* interface IFind */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IFind;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0337-0000-0000-C000-000000000046")
    IFind : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SearchPath( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SubDir( 
            /* [retval][out] */ VARIANT_BOOL *retval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Author( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Keywords( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Subject( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Options( 
            /* [retval][out] */ MsoFileFindOptions *penmOptions) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MatchCase( 
            /* [retval][out] */ VARIANT_BOOL *retval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PatternMatch( 
            /* [retval][out] */ VARIANT_BOOL *retval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DateSavedFrom( 
            /* [retval][out] */ VARIANT *pdatSavedFrom) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DateSavedTo( 
            /* [retval][out] */ VARIANT *pdatSavedTo) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SavedBy( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DateCreatedFrom( 
            /* [retval][out] */ VARIANT *pdatCreatedFrom) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DateCreatedTo( 
            /* [retval][out] */ VARIANT *pdatCreatedTo) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_View( 
            /* [retval][out] */ MsoFileFindView *penmView) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SortBy( 
            /* [retval][out] */ MsoFileFindSortBy *penmSortBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ListBy( 
            /* [retval][out] */ MsoFileFindListBy *penmListBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SelectedFile( 
            /* [retval][out] */ int *pintSelectedFile) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Results( 
            /* [retval][out] */ IFoundFiles **pdisp) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Show( 
            /* [retval][out] */ int *pRows) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SearchPath( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SubDir( 
            /* [in] */ VARIANT_BOOL retval) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Author( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Keywords( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Subject( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Options( 
            /* [in] */ MsoFileFindOptions penmOptions) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MatchCase( 
            /* [in] */ VARIANT_BOOL retval) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PatternMatch( 
            /* [in] */ VARIANT_BOOL retval) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DateSavedFrom( 
            /* [in] */ VARIANT pdatSavedFrom) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DateSavedTo( 
            /* [in] */ VARIANT pdatSavedTo) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SavedBy( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DateCreatedFrom( 
            /* [in] */ VARIANT pdatCreatedFrom) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DateCreatedTo( 
            /* [in] */ VARIANT pdatCreatedTo) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_View( 
            /* [in] */ MsoFileFindView penmView) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SortBy( 
            /* [in] */ MsoFileFindSortBy penmSortBy) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ListBy( 
            /* [in] */ MsoFileFindListBy penmListBy) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SelectedFile( 
            /* [in] */ int pintSelectedFile) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Execute( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ BSTR bstrQueryName) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ BSTR bstrQueryName) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ BSTR bstrQueryName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FileType( 
            /* [retval][out] */ long *plFileType) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_FileType( 
            /* [in] */ long plFileType) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IFindVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IFind * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IFind * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IFind * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IFind * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IFind * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IFind * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IFind * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SearchPath )( 
            IFind * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IFind * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SubDir )( 
            IFind * This,
            /* [retval][out] */ VARIANT_BOOL *retval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            IFind * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Author )( 
            IFind * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Keywords )( 
            IFind * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Subject )( 
            IFind * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Options )( 
            IFind * This,
            /* [retval][out] */ MsoFileFindOptions *penmOptions);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MatchCase )( 
            IFind * This,
            /* [retval][out] */ VARIANT_BOOL *retval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            IFind * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PatternMatch )( 
            IFind * This,
            /* [retval][out] */ VARIANT_BOOL *retval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DateSavedFrom )( 
            IFind * This,
            /* [retval][out] */ VARIANT *pdatSavedFrom);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DateSavedTo )( 
            IFind * This,
            /* [retval][out] */ VARIANT *pdatSavedTo);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SavedBy )( 
            IFind * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DateCreatedFrom )( 
            IFind * This,
            /* [retval][out] */ VARIANT *pdatCreatedFrom);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DateCreatedTo )( 
            IFind * This,
            /* [retval][out] */ VARIANT *pdatCreatedTo);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_View )( 
            IFind * This,
            /* [retval][out] */ MsoFileFindView *penmView);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SortBy )( 
            IFind * This,
            /* [retval][out] */ MsoFileFindSortBy *penmSortBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ListBy )( 
            IFind * This,
            /* [retval][out] */ MsoFileFindListBy *penmListBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedFile )( 
            IFind * This,
            /* [retval][out] */ int *pintSelectedFile);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Results )( 
            IFind * This,
            /* [retval][out] */ IFoundFiles **pdisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Show )( 
            IFind * This,
            /* [retval][out] */ int *pRows);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SearchPath )( 
            IFind * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IFind * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SubDir )( 
            IFind * This,
            /* [in] */ VARIANT_BOOL retval);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            IFind * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Author )( 
            IFind * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Keywords )( 
            IFind * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Subject )( 
            IFind * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Options )( 
            IFind * This,
            /* [in] */ MsoFileFindOptions penmOptions);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MatchCase )( 
            IFind * This,
            /* [in] */ VARIANT_BOOL retval);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            IFind * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PatternMatch )( 
            IFind * This,
            /* [in] */ VARIANT_BOOL retval);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DateSavedFrom )( 
            IFind * This,
            /* [in] */ VARIANT pdatSavedFrom);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DateSavedTo )( 
            IFind * This,
            /* [in] */ VARIANT pdatSavedTo);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SavedBy )( 
            IFind * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DateCreatedFrom )( 
            IFind * This,
            /* [in] */ VARIANT pdatCreatedFrom);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DateCreatedTo )( 
            IFind * This,
            /* [in] */ VARIANT pdatCreatedTo);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_View )( 
            IFind * This,
            /* [in] */ MsoFileFindView penmView);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SortBy )( 
            IFind * This,
            /* [in] */ MsoFileFindSortBy penmSortBy);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ListBy )( 
            IFind * This,
            /* [in] */ MsoFileFindListBy penmListBy);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedFile )( 
            IFind * This,
            /* [in] */ int pintSelectedFile);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            IFind * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IFind * This,
            /* [in] */ BSTR bstrQueryName);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            IFind * This,
            /* [in] */ BSTR bstrQueryName);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IFind * This,
            /* [in] */ BSTR bstrQueryName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FileType )( 
            IFind * This,
            /* [retval][out] */ long *plFileType);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FileType )( 
            IFind * This,
            /* [in] */ long plFileType);
        
        END_INTERFACE
    } IFindVtbl;

    interface IFind
    {
        CONST_VTBL struct IFindVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IFind_get_SearchPath(This,pbstr)	\
    ( (This)->lpVtbl -> get_SearchPath(This,pbstr) ) 

#define IFind_get_Name(This,pbstr)	\
    ( (This)->lpVtbl -> get_Name(This,pbstr) ) 

#define IFind_get_SubDir(This,retval)	\
    ( (This)->lpVtbl -> get_SubDir(This,retval) ) 

#define IFind_get_Title(This,pbstr)	\
    ( (This)->lpVtbl -> get_Title(This,pbstr) ) 

#define IFind_get_Author(This,pbstr)	\
    ( (This)->lpVtbl -> get_Author(This,pbstr) ) 

#define IFind_get_Keywords(This,pbstr)	\
    ( (This)->lpVtbl -> get_Keywords(This,pbstr) ) 

#define IFind_get_Subject(This,pbstr)	\
    ( (This)->lpVtbl -> get_Subject(This,pbstr) ) 

#define IFind_get_Options(This,penmOptions)	\
    ( (This)->lpVtbl -> get_Options(This,penmOptions) ) 

#define IFind_get_MatchCase(This,retval)	\
    ( (This)->lpVtbl -> get_MatchCase(This,retval) ) 

#define IFind_get_Text(This,pbstr)	\
    ( (This)->lpVtbl -> get_Text(This,pbstr) ) 

#define IFind_get_PatternMatch(This,retval)	\
    ( (This)->lpVtbl -> get_PatternMatch(This,retval) ) 

#define IFind_get_DateSavedFrom(This,pdatSavedFrom)	\
    ( (This)->lpVtbl -> get_DateSavedFrom(This,pdatSavedFrom) ) 

#define IFind_get_DateSavedTo(This,pdatSavedTo)	\
    ( (This)->lpVtbl -> get_DateSavedTo(This,pdatSavedTo) ) 

#define IFind_get_SavedBy(This,pbstr)	\
    ( (This)->lpVtbl -> get_SavedBy(This,pbstr) ) 

#define IFind_get_DateCreatedFrom(This,pdatCreatedFrom)	\
    ( (This)->lpVtbl -> get_DateCreatedFrom(This,pdatCreatedFrom) ) 

#define IFind_get_DateCreatedTo(This,pdatCreatedTo)	\
    ( (This)->lpVtbl -> get_DateCreatedTo(This,pdatCreatedTo) ) 

#define IFind_get_View(This,penmView)	\
    ( (This)->lpVtbl -> get_View(This,penmView) ) 

#define IFind_get_SortBy(This,penmSortBy)	\
    ( (This)->lpVtbl -> get_SortBy(This,penmSortBy) ) 

#define IFind_get_ListBy(This,penmListBy)	\
    ( (This)->lpVtbl -> get_ListBy(This,penmListBy) ) 

#define IFind_get_SelectedFile(This,pintSelectedFile)	\
    ( (This)->lpVtbl -> get_SelectedFile(This,pintSelectedFile) ) 

#define IFind_get_Results(This,pdisp)	\
    ( (This)->lpVtbl -> get_Results(This,pdisp) ) 

#define IFind_Show(This,pRows)	\
    ( (This)->lpVtbl -> Show(This,pRows) ) 

#define IFind_put_SearchPath(This,pbstr)	\
    ( (This)->lpVtbl -> put_SearchPath(This,pbstr) ) 

#define IFind_put_Name(This,pbstr)	\
    ( (This)->lpVtbl -> put_Name(This,pbstr) ) 

#define IFind_put_SubDir(This,retval)	\
    ( (This)->lpVtbl -> put_SubDir(This,retval) ) 

#define IFind_put_Title(This,pbstr)	\
    ( (This)->lpVtbl -> put_Title(This,pbstr) ) 

#define IFind_put_Author(This,pbstr)	\
    ( (This)->lpVtbl -> put_Author(This,pbstr) ) 

#define IFind_put_Keywords(This,pbstr)	\
    ( (This)->lpVtbl -> put_Keywords(This,pbstr) ) 

#define IFind_put_Subject(This,pbstr)	\
    ( (This)->lpVtbl -> put_Subject(This,pbstr) ) 

#define IFind_put_Options(This,penmOptions)	\
    ( (This)->lpVtbl -> put_Options(This,penmOptions) ) 

#define IFind_put_MatchCase(This,retval)	\
    ( (This)->lpVtbl -> put_MatchCase(This,retval) ) 

#define IFind_put_Text(This,pbstr)	\
    ( (This)->lpVtbl -> put_Text(This,pbstr) ) 

#define IFind_put_PatternMatch(This,retval)	\
    ( (This)->lpVtbl -> put_PatternMatch(This,retval) ) 

#define IFind_put_DateSavedFrom(This,pdatSavedFrom)	\
    ( (This)->lpVtbl -> put_DateSavedFrom(This,pdatSavedFrom) ) 

#define IFind_put_DateSavedTo(This,pdatSavedTo)	\
    ( (This)->lpVtbl -> put_DateSavedTo(This,pdatSavedTo) ) 

#define IFind_put_SavedBy(This,pbstr)	\
    ( (This)->lpVtbl -> put_SavedBy(This,pbstr) ) 

#define IFind_put_DateCreatedFrom(This,pdatCreatedFrom)	\
    ( (This)->lpVtbl -> put_DateCreatedFrom(This,pdatCreatedFrom) ) 

#define IFind_put_DateCreatedTo(This,pdatCreatedTo)	\
    ( (This)->lpVtbl -> put_DateCreatedTo(This,pdatCreatedTo) ) 

#define IFind_put_View(This,penmView)	\
    ( (This)->lpVtbl -> put_View(This,penmView) ) 

#define IFind_put_SortBy(This,penmSortBy)	\
    ( (This)->lpVtbl -> put_SortBy(This,penmSortBy) ) 

#define IFind_put_ListBy(This,penmListBy)	\
    ( (This)->lpVtbl -> put_ListBy(This,penmListBy) ) 

#define IFind_put_SelectedFile(This,pintSelectedFile)	\
    ( (This)->lpVtbl -> put_SelectedFile(This,pintSelectedFile) ) 

#define IFind_Execute(This)	\
    ( (This)->lpVtbl -> Execute(This) ) 

#define IFind_Load(This,bstrQueryName)	\
    ( (This)->lpVtbl -> Load(This,bstrQueryName) ) 

#define IFind_Save(This,bstrQueryName)	\
    ( (This)->lpVtbl -> Save(This,bstrQueryName) ) 

#define IFind_Delete(This,bstrQueryName)	\
    ( (This)->lpVtbl -> Delete(This,bstrQueryName) ) 

#define IFind_get_FileType(This,plFileType)	\
    ( (This)->lpVtbl -> get_FileType(This,plFileType) ) 

#define IFind_put_FileType(This,plFileType)	\
    ( (This)->lpVtbl -> put_FileType(This,plFileType) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IFind_INTERFACE_DEFINED__ */


#ifndef __FoundFiles_INTERFACE_DEFINED__
#define __FoundFiles_INTERFACE_DEFINED__

/* interface FoundFiles */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_FoundFiles;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0331-0000-0000-C000-000000000046")
    FoundFiles : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ BSTR *pbstrFile) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pc) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct FoundFilesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            FoundFiles * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            FoundFiles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            FoundFiles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            FoundFiles * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            FoundFiles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            FoundFiles * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            FoundFiles * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            FoundFiles * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            FoundFiles * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            FoundFiles * This,
            /* [in] */ int Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ BSTR *pbstrFile);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            FoundFiles * This,
            /* [retval][out] */ long *pc);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            FoundFiles * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } FoundFilesVtbl;

    interface FoundFiles
    {
        CONST_VTBL struct FoundFilesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define FoundFiles_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define FoundFiles_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define FoundFiles_get_Item(This,Index,lcid,pbstrFile)	\
    ( (This)->lpVtbl -> get_Item(This,Index,lcid,pbstrFile) ) 

#define FoundFiles_get_Count(This,pc)	\
    ( (This)->lpVtbl -> get_Count(This,pc) ) 

#define FoundFiles_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __FoundFiles_INTERFACE_DEFINED__ */


#ifndef __PropertyTest_INTERFACE_DEFINED__
#define __PropertyTest_INTERFACE_DEFINED__

/* interface PropertyTest */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_PropertyTest;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0333-0000-0000-C000-000000000046")
    PropertyTest : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Condition( 
            /* [retval][out] */ MsoCondition *pConditionRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT *pvargRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SecondValue( 
            /* [retval][out] */ VARIANT *pvargRetVal2) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Connector( 
            /* [retval][out] */ MsoConnector *pConnector) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PropertyTestVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PropertyTest * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PropertyTest * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PropertyTest * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PropertyTest * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PropertyTest * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PropertyTest * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PropertyTest * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PropertyTest * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PropertyTest * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            PropertyTest * This,
            /* [retval][out] */ BSTR *pbstrRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Condition )( 
            PropertyTest * This,
            /* [retval][out] */ MsoCondition *pConditionRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            PropertyTest * This,
            /* [retval][out] */ VARIANT *pvargRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecondValue )( 
            PropertyTest * This,
            /* [retval][out] */ VARIANT *pvargRetVal2);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connector )( 
            PropertyTest * This,
            /* [retval][out] */ MsoConnector *pConnector);
        
        END_INTERFACE
    } PropertyTestVtbl;

    interface PropertyTest
    {
        CONST_VTBL struct PropertyTestVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define PropertyTest_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PropertyTest_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PropertyTest_get_Name(This,pbstrRetVal)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrRetVal) ) 

#define PropertyTest_get_Condition(This,pConditionRetVal)	\
    ( (This)->lpVtbl -> get_Condition(This,pConditionRetVal) ) 

#define PropertyTest_get_Value(This,pvargRetVal)	\
    ( (This)->lpVtbl -> get_Value(This,pvargRetVal) ) 

#define PropertyTest_get_SecondValue(This,pvargRetVal2)	\
    ( (This)->lpVtbl -> get_SecondValue(This,pvargRetVal2) ) 

#define PropertyTest_get_Connector(This,pConnector)	\
    ( (This)->lpVtbl -> get_Connector(This,pConnector) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PropertyTest_INTERFACE_DEFINED__ */


#ifndef __PropertyTests_INTERFACE_DEFINED__
#define __PropertyTests_INTERFACE_DEFINED__

/* interface PropertyTests */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_PropertyTests;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0334-0000-0000-C000-000000000046")
    PropertyTests : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ PropertyTest **ppIDocProp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pc) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [in] */ MsoCondition Condition,
            /* [optional][in] */ VARIANT Value,
            /* [optional][in] */ VARIANT SecondValue,
            /* [defaultvalue][optional][in] */ MsoConnector Connector = msoConnectorAnd) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ int Index) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PropertyTestsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PropertyTests * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PropertyTests * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PropertyTests * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PropertyTests * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PropertyTests * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PropertyTests * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PropertyTests * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PropertyTests * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PropertyTests * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            PropertyTests * This,
            /* [in] */ int Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ PropertyTest **ppIDocProp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            PropertyTests * This,
            /* [retval][out] */ long *pc);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            PropertyTests * This,
            /* [in] */ BSTR Name,
            /* [in] */ MsoCondition Condition,
            /* [optional][in] */ VARIANT Value,
            /* [optional][in] */ VARIANT SecondValue,
            /* [defaultvalue][optional][in] */ MsoConnector Connector);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            PropertyTests * This,
            /* [in] */ int Index);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            PropertyTests * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } PropertyTestsVtbl;

    interface PropertyTests
    {
        CONST_VTBL struct PropertyTestsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define PropertyTests_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PropertyTests_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PropertyTests_get_Item(This,Index,lcid,ppIDocProp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,lcid,ppIDocProp) ) 

#define PropertyTests_get_Count(This,pc)	\
    ( (This)->lpVtbl -> get_Count(This,pc) ) 

#define PropertyTests_Add(This,Name,Condition,Value,SecondValue,Connector)	\
    ( (This)->lpVtbl -> Add(This,Name,Condition,Value,SecondValue,Connector) ) 

#define PropertyTests_Remove(This,Index)	\
    ( (This)->lpVtbl -> Remove(This,Index) ) 

#define PropertyTests_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PropertyTests_INTERFACE_DEFINED__ */


#ifndef __FileSearch_INTERFACE_DEFINED__
#define __FileSearch_INTERFACE_DEFINED__

/* interface FileSearch */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_FileSearch;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0332-0000-0000-C000-000000000046")
    FileSearch : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SearchSubFolders( 
            /* [retval][out] */ VARIANT_BOOL *SearchSubFoldersRetVal) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SearchSubFolders( 
            /* [in] */ VARIANT_BOOL SearchSubFoldersRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MatchTextExactly( 
            /* [retval][out] */ VARIANT_BOOL *MatchTextRetVal) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MatchTextExactly( 
            /* [in] */ VARIANT_BOOL MatchTextRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MatchAllWordForms( 
            /* [retval][out] */ VARIANT_BOOL *MatchAllWordFormsRetVal) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MatchAllWordForms( 
            /* [in] */ VARIANT_BOOL MatchAllWordFormsRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FileName( 
            /* [retval][out] */ BSTR *FileNameRetVal) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_FileName( 
            /* [in] */ BSTR FileNameRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FileType( 
            /* [retval][out] */ MsoFileType *FileTypeRetVal) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_FileType( 
            /* [in] */ MsoFileType FileTypeRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LastModified( 
            /* [retval][out] */ MsoLastModified *LastModifiedRetVal) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_LastModified( 
            /* [in] */ MsoLastModified LastModifiedRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_TextOrProperty( 
            /* [retval][out] */ BSTR *TextOrProperty) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_TextOrProperty( 
            /* [in] */ BSTR TextOrProperty) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LookIn( 
            /* [retval][out] */ BSTR *LookInRetVal) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_LookIn( 
            /* [in] */ BSTR LookInRetVal) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Execute( 
            /* [defaultvalue][optional][in] */ MsoSortBy SortBy,
            /* [defaultvalue][optional][in] */ MsoSortOrder SortOrder,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL AlwaysAccurate,
            /* [retval][out] */ int *pRet) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE NewSearch( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FoundFiles( 
            /* [retval][out] */ FoundFiles **FoundFilesRet) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PropertyTests( 
            /* [retval][out] */ PropertyTests **PropTestsRet) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SearchScopes( 
            /* [retval][out] */ SearchScopes **SearchScopesRet) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SearchFolders( 
            /* [retval][out] */ SearchFolders **SearchFoldersRet) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FileTypes( 
            /* [retval][out] */ FileTypes **FileTypesRet) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RefreshScopes( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct FileSearchVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            FileSearch * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            FileSearch * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            FileSearch * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            FileSearch * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            FileSearch * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            FileSearch * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            FileSearch * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            FileSearch * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            FileSearch * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SearchSubFolders )( 
            FileSearch * This,
            /* [retval][out] */ VARIANT_BOOL *SearchSubFoldersRetVal);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SearchSubFolders )( 
            FileSearch * This,
            /* [in] */ VARIANT_BOOL SearchSubFoldersRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MatchTextExactly )( 
            FileSearch * This,
            /* [retval][out] */ VARIANT_BOOL *MatchTextRetVal);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MatchTextExactly )( 
            FileSearch * This,
            /* [in] */ VARIANT_BOOL MatchTextRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MatchAllWordForms )( 
            FileSearch * This,
            /* [retval][out] */ VARIANT_BOOL *MatchAllWordFormsRetVal);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MatchAllWordForms )( 
            FileSearch * This,
            /* [in] */ VARIANT_BOOL MatchAllWordFormsRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FileName )( 
            FileSearch * This,
            /* [retval][out] */ BSTR *FileNameRetVal);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FileName )( 
            FileSearch * This,
            /* [in] */ BSTR FileNameRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FileType )( 
            FileSearch * This,
            /* [retval][out] */ MsoFileType *FileTypeRetVal);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FileType )( 
            FileSearch * This,
            /* [in] */ MsoFileType FileTypeRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastModified )( 
            FileSearch * This,
            /* [retval][out] */ MsoLastModified *LastModifiedRetVal);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LastModified )( 
            FileSearch * This,
            /* [in] */ MsoLastModified LastModifiedRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextOrProperty )( 
            FileSearch * This,
            /* [retval][out] */ BSTR *TextOrProperty);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TextOrProperty )( 
            FileSearch * This,
            /* [in] */ BSTR TextOrProperty);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LookIn )( 
            FileSearch * This,
            /* [retval][out] */ BSTR *LookInRetVal);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LookIn )( 
            FileSearch * This,
            /* [in] */ BSTR LookInRetVal);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            FileSearch * This,
            /* [defaultvalue][optional][in] */ MsoSortBy SortBy,
            /* [defaultvalue][optional][in] */ MsoSortOrder SortOrder,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL AlwaysAccurate,
            /* [retval][out] */ int *pRet);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *NewSearch )( 
            FileSearch * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FoundFiles )( 
            FileSearch * This,
            /* [retval][out] */ FoundFiles **FoundFilesRet);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PropertyTests )( 
            FileSearch * This,
            /* [retval][out] */ PropertyTests **PropTestsRet);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SearchScopes )( 
            FileSearch * This,
            /* [retval][out] */ SearchScopes **SearchScopesRet);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SearchFolders )( 
            FileSearch * This,
            /* [retval][out] */ SearchFolders **SearchFoldersRet);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FileTypes )( 
            FileSearch * This,
            /* [retval][out] */ FileTypes **FileTypesRet);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RefreshScopes )( 
            FileSearch * This);
        
        END_INTERFACE
    } FileSearchVtbl;

    interface FileSearch
    {
        CONST_VTBL struct FileSearchVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define FileSearch_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define FileSearch_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define FileSearch_get_SearchSubFolders(This,SearchSubFoldersRetVal)	\
    ( (This)->lpVtbl -> get_SearchSubFolders(This,SearchSubFoldersRetVal) ) 

#define FileSearch_put_SearchSubFolders(This,SearchSubFoldersRetVal)	\
    ( (This)->lpVtbl -> put_SearchSubFolders(This,SearchSubFoldersRetVal) ) 

#define FileSearch_get_MatchTextExactly(This,MatchTextRetVal)	\
    ( (This)->lpVtbl -> get_MatchTextExactly(This,MatchTextRetVal) ) 

#define FileSearch_put_MatchTextExactly(This,MatchTextRetVal)	\
    ( (This)->lpVtbl -> put_MatchTextExactly(This,MatchTextRetVal) ) 

#define FileSearch_get_MatchAllWordForms(This,MatchAllWordFormsRetVal)	\
    ( (This)->lpVtbl -> get_MatchAllWordForms(This,MatchAllWordFormsRetVal) ) 

#define FileSearch_put_MatchAllWordForms(This,MatchAllWordFormsRetVal)	\
    ( (This)->lpVtbl -> put_MatchAllWordForms(This,MatchAllWordFormsRetVal) ) 

#define FileSearch_get_FileName(This,FileNameRetVal)	\
    ( (This)->lpVtbl -> get_FileName(This,FileNameRetVal) ) 

#define FileSearch_put_FileName(This,FileNameRetVal)	\
    ( (This)->lpVtbl -> put_FileName(This,FileNameRetVal) ) 

#define FileSearch_get_FileType(This,FileTypeRetVal)	\
    ( (This)->lpVtbl -> get_FileType(This,FileTypeRetVal) ) 

#define FileSearch_put_FileType(This,FileTypeRetVal)	\
    ( (This)->lpVtbl -> put_FileType(This,FileTypeRetVal) ) 

#define FileSearch_get_LastModified(This,LastModifiedRetVal)	\
    ( (This)->lpVtbl -> get_LastModified(This,LastModifiedRetVal) ) 

#define FileSearch_put_LastModified(This,LastModifiedRetVal)	\
    ( (This)->lpVtbl -> put_LastModified(This,LastModifiedRetVal) ) 

#define FileSearch_get_TextOrProperty(This,TextOrProperty)	\
    ( (This)->lpVtbl -> get_TextOrProperty(This,TextOrProperty) ) 

#define FileSearch_put_TextOrProperty(This,TextOrProperty)	\
    ( (This)->lpVtbl -> put_TextOrProperty(This,TextOrProperty) ) 

#define FileSearch_get_LookIn(This,LookInRetVal)	\
    ( (This)->lpVtbl -> get_LookIn(This,LookInRetVal) ) 

#define FileSearch_put_LookIn(This,LookInRetVal)	\
    ( (This)->lpVtbl -> put_LookIn(This,LookInRetVal) ) 

#define FileSearch_Execute(This,SortBy,SortOrder,AlwaysAccurate,pRet)	\
    ( (This)->lpVtbl -> Execute(This,SortBy,SortOrder,AlwaysAccurate,pRet) ) 

#define FileSearch_NewSearch(This)	\
    ( (This)->lpVtbl -> NewSearch(This) ) 

#define FileSearch_get_FoundFiles(This,FoundFilesRet)	\
    ( (This)->lpVtbl -> get_FoundFiles(This,FoundFilesRet) ) 

#define FileSearch_get_PropertyTests(This,PropTestsRet)	\
    ( (This)->lpVtbl -> get_PropertyTests(This,PropTestsRet) ) 

#define FileSearch_get_SearchScopes(This,SearchScopesRet)	\
    ( (This)->lpVtbl -> get_SearchScopes(This,SearchScopesRet) ) 

#define FileSearch_get_SearchFolders(This,SearchFoldersRet)	\
    ( (This)->lpVtbl -> get_SearchFolders(This,SearchFoldersRet) ) 

#define FileSearch_get_FileTypes(This,FileTypesRet)	\
    ( (This)->lpVtbl -> get_FileTypes(This,FileTypesRet) ) 

#define FileSearch_RefreshScopes(This)	\
    ( (This)->lpVtbl -> RefreshScopes(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __FileSearch_INTERFACE_DEFINED__ */


#ifndef __COMAddIn_INTERFACE_DEFINED__
#define __COMAddIn_INTERFACE_DEFINED__

/* interface COMAddIn */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_COMAddIn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C033A-0000-0000-C000-000000000046")
    COMAddIn : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProgId( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Guid( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Connect( 
            /* [retval][out] */ VARIANT_BOOL *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Connect( 
            /* [in] */ VARIANT_BOOL RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Object( 
            /* [retval][out] */ IDispatch **RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Object( 
            /* [in] */ IDispatch *RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **retval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct COMAddInVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            COMAddIn * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            COMAddIn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            COMAddIn * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            COMAddIn * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            COMAddIn * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            COMAddIn * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            COMAddIn * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            COMAddIn * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            COMAddIn * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            COMAddIn * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            COMAddIn * This,
            /* [in] */ BSTR RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProgId )( 
            COMAddIn * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Guid )( 
            COMAddIn * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connect )( 
            COMAddIn * This,
            /* [retval][out] */ VARIANT_BOOL *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Connect )( 
            COMAddIn * This,
            /* [in] */ VARIANT_BOOL RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Object )( 
            COMAddIn * This,
            /* [retval][out] */ IDispatch **RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Object )( 
            COMAddIn * This,
            /* [in] */ IDispatch *RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            COMAddIn * This,
            /* [retval][out] */ IDispatch **retval);
        
        END_INTERFACE
    } COMAddInVtbl;

    interface COMAddIn
    {
        CONST_VTBL struct COMAddInVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define COMAddIn_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define COMAddIn_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define COMAddIn_get_Description(This,RetValue)	\
    ( (This)->lpVtbl -> get_Description(This,RetValue) ) 

#define COMAddIn_put_Description(This,RetValue)	\
    ( (This)->lpVtbl -> put_Description(This,RetValue) ) 

#define COMAddIn_get_ProgId(This,RetValue)	\
    ( (This)->lpVtbl -> get_ProgId(This,RetValue) ) 

#define COMAddIn_get_Guid(This,RetValue)	\
    ( (This)->lpVtbl -> get_Guid(This,RetValue) ) 

#define COMAddIn_get_Connect(This,RetValue)	\
    ( (This)->lpVtbl -> get_Connect(This,RetValue) ) 

#define COMAddIn_put_Connect(This,RetValue)	\
    ( (This)->lpVtbl -> put_Connect(This,RetValue) ) 

#define COMAddIn_get_Object(This,RetValue)	\
    ( (This)->lpVtbl -> get_Object(This,RetValue) ) 

#define COMAddIn_put_Object(This,RetValue)	\
    ( (This)->lpVtbl -> put_Object(This,RetValue) ) 

#define COMAddIn_get_Parent(This,retval)	\
    ( (This)->lpVtbl -> get_Parent(This,retval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __COMAddIn_INTERFACE_DEFINED__ */


#ifndef __COMAddIns_INTERFACE_DEFINED__
#define __COMAddIns_INTERFACE_DEFINED__

/* interface COMAddIns */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_COMAddIns;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0339-0000-0000-C000-000000000046")
    COMAddIns : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT *Index,
            /* [retval][out] */ COMAddIn **RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *RetValue) = 0;
        
        virtual /* [helpcontext][restricted][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **RetValue) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Update( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE SetAppModal( 
            /* [in] */ VARIANT_BOOL varfModal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct COMAddInsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            COMAddIns * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            COMAddIns * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            COMAddIns * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            COMAddIns * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            COMAddIns * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            COMAddIns * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            COMAddIns * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            COMAddIns * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            COMAddIns * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            COMAddIns * This,
            /* [in] */ VARIANT *Index,
            /* [retval][out] */ COMAddIn **RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            COMAddIns * This,
            /* [retval][out] */ long *RetValue);
        
        /* [helpcontext][restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            COMAddIns * This,
            /* [retval][out] */ IUnknown **RetValue);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            COMAddIns * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            COMAddIns * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *SetAppModal )( 
            COMAddIns * This,
            /* [in] */ VARIANT_BOOL varfModal);
        
        END_INTERFACE
    } COMAddInsVtbl;

    interface COMAddIns
    {
        CONST_VTBL struct COMAddInsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define COMAddIns_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define COMAddIns_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define COMAddIns_Item(This,Index,RetValue)	\
    ( (This)->lpVtbl -> Item(This,Index,RetValue) ) 

#define COMAddIns_get_Count(This,RetValue)	\
    ( (This)->lpVtbl -> get_Count(This,RetValue) ) 

#define COMAddIns_get__NewEnum(This,RetValue)	\
    ( (This)->lpVtbl -> get__NewEnum(This,RetValue) ) 

#define COMAddIns_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define COMAddIns_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define COMAddIns_SetAppModal(This,varfModal)	\
    ( (This)->lpVtbl -> SetAppModal(This,varfModal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __COMAddIns_INTERFACE_DEFINED__ */


#ifndef __LanguageSettings_INTERFACE_DEFINED__
#define __LanguageSettings_INTERFACE_DEFINED__

/* interface LanguageSettings */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_LanguageSettings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0353-0000-0000-C000-000000000046")
    LanguageSettings : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LanguageID( 
            /* [in] */ MsoAppLanguageID Id,
            /* [retval][out] */ int *plid) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LanguagePreferredForEditing( 
            /* [in] */ MsoLanguageID lid,
            /* [retval][out] */ VARIANT_BOOL *pf) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct LanguageSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            LanguageSettings * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            LanguageSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            LanguageSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            LanguageSettings * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            LanguageSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            LanguageSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            LanguageSettings * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            LanguageSettings * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            LanguageSettings * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LanguageID )( 
            LanguageSettings * This,
            /* [in] */ MsoAppLanguageID Id,
            /* [retval][out] */ int *plid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LanguagePreferredForEditing )( 
            LanguageSettings * This,
            /* [in] */ MsoLanguageID lid,
            /* [retval][out] */ VARIANT_BOOL *pf);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            LanguageSettings * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } LanguageSettingsVtbl;

    interface LanguageSettings
    {
        CONST_VTBL struct LanguageSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define LanguageSettings_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define LanguageSettings_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define LanguageSettings_get_LanguageID(This,Id,plid)	\
    ( (This)->lpVtbl -> get_LanguageID(This,Id,plid) ) 

#define LanguageSettings_get_LanguagePreferredForEditing(This,lid,pf)	\
    ( (This)->lpVtbl -> get_LanguagePreferredForEditing(This,lid,pf) ) 

#define LanguageSettings_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __LanguageSettings_INTERFACE_DEFINED__ */


#ifndef __ICommandBarsEvents_INTERFACE_DEFINED__
#define __ICommandBarsEvents_INTERFACE_DEFINED__

/* interface ICommandBarsEvents */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_ICommandBarsEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("55F88892-7708-11D1-ACEB-006008961DA5")
    ICommandBarsEvents : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE OnUpdate( void) = 0;
        
    };
    
#else 	/* C style interface */

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

    interface ICommandBarsEvents
    {
        CONST_VTBL struct ICommandBarsEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICommandBarsEvents_OnUpdate(This)	\
    ( (This)->lpVtbl -> OnUpdate(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICommandBarsEvents_INTERFACE_DEFINED__ */


#ifndef ___CommandBarsEvents_DISPINTERFACE_DEFINED__
#define ___CommandBarsEvents_DISPINTERFACE_DEFINED__

/* dispinterface _CommandBarsEvents */
/* [hidden][uuid] */ 


extern "C++" const IID DIID__CommandBarsEvents;

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

    MIDL_INTERFACE("000C0352-0000-0000-C000-000000000046")
    _CommandBarsEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

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

    interface _CommandBarsEvents
    {
        CONST_VTBL struct _CommandBarsEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___CommandBarsEvents_DISPINTERFACE_DEFINED__ */


#ifndef __ICommandBarComboBoxEvents_INTERFACE_DEFINED__
#define __ICommandBarComboBoxEvents_INTERFACE_DEFINED__

/* interface ICommandBarComboBoxEvents */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_ICommandBarComboBoxEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("55F88896-7708-11D1-ACEB-006008961DA5")
    ICommandBarComboBoxEvents : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE Change( 
            /* [in] */ CommandBarComboBox	*Ctrl) = 0;
        
    };
    
#else 	/* C style interface */

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

    interface ICommandBarComboBoxEvents
    {
        CONST_VTBL struct ICommandBarComboBoxEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICommandBarComboBoxEvents_Change(This,Ctrl)	\
    ( (This)->lpVtbl -> Change(This,Ctrl) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICommandBarComboBoxEvents_INTERFACE_DEFINED__ */


#ifndef ___CommandBarComboBoxEvents_DISPINTERFACE_DEFINED__
#define ___CommandBarComboBoxEvents_DISPINTERFACE_DEFINED__

/* dispinterface _CommandBarComboBoxEvents */
/* [hidden][uuid] */ 


extern "C++" const IID DIID__CommandBarComboBoxEvents;

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

    MIDL_INTERFACE("000C0354-0000-0000-C000-000000000046")
    _CommandBarComboBoxEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

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

    interface _CommandBarComboBoxEvents
    {
        CONST_VTBL struct _CommandBarComboBoxEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___CommandBarComboBoxEvents_DISPINTERFACE_DEFINED__ */


#ifndef __ICommandBarButtonEvents_INTERFACE_DEFINED__
#define __ICommandBarButtonEvents_INTERFACE_DEFINED__

/* interface ICommandBarButtonEvents */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_ICommandBarButtonEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("55F88890-7708-11D1-ACEB-006008961DA5")
    ICommandBarButtonEvents : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE Click( 
            /* [in] */ CommandBarButton	*Ctrl,
            /* [out][in] */ VARIANT_BOOL *CancelDefault) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICommandBarButtonEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICommandBarButtonEvents * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICommandBarButtonEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICommandBarButtonEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICommandBarButtonEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICommandBarButtonEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICommandBarButtonEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICommandBarButtonEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ void ( STDMETHODCALLTYPE *Click )( 
            ICommandBarButtonEvents * This,
            /* [in] */ CommandBarButton	*Ctrl,
            /* [out][in] */ VARIANT_BOOL *CancelDefault);
        
        END_INTERFACE
    } ICommandBarButtonEventsVtbl;

    interface ICommandBarButtonEvents
    {
        CONST_VTBL struct ICommandBarButtonEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ICommandBarButtonEvents_Click(This,Ctrl,CancelDefault)	\
    ( (This)->lpVtbl -> Click(This,Ctrl,CancelDefault) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICommandBarButtonEvents_INTERFACE_DEFINED__ */


#ifndef ___CommandBarButtonEvents_DISPINTERFACE_DEFINED__
#define ___CommandBarButtonEvents_DISPINTERFACE_DEFINED__

/* dispinterface _CommandBarButtonEvents */
/* [hidden][uuid] */ 


extern "C++" const IID DIID__CommandBarButtonEvents;

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

    MIDL_INTERFACE("000C0351-0000-0000-C000-000000000046")
    _CommandBarButtonEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

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

    interface _CommandBarButtonEvents
    {
        CONST_VTBL struct _CommandBarButtonEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___CommandBarButtonEvents_DISPINTERFACE_DEFINED__ */


#ifndef __WebPageFont_INTERFACE_DEFINED__
#define __WebPageFont_INTERFACE_DEFINED__

/* interface WebPageFont */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_WebPageFont;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0913-0000-0000-C000-000000000046")
    WebPageFont : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProportionalFont( 
            /* [retval][out] */ BSTR *pstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ProportionalFont( 
            /* [in] */ BSTR pstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProportionalFontSize( 
            /* [retval][out] */ single *pf) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ProportionalFontSize( 
            /* [in] */ single pf) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FixedWidthFont( 
            /* [retval][out] */ BSTR *pstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_FixedWidthFont( 
            /* [in] */ BSTR pstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FixedWidthFontSize( 
            /* [retval][out] */ single *pf) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_FixedWidthFontSize( 
            /* [in] */ single pf) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct WebPageFontVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            WebPageFont * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            WebPageFont * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            WebPageFont * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            WebPageFont * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            WebPageFont * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            WebPageFont * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            WebPageFont * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            WebPageFont * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            WebPageFont * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProportionalFont )( 
            WebPageFont * This,
            /* [retval][out] */ BSTR *pstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProportionalFont )( 
            WebPageFont * This,
            /* [in] */ BSTR pstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProportionalFontSize )( 
            WebPageFont * This,
            /* [retval][out] */ single *pf);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProportionalFontSize )( 
            WebPageFont * This,
            /* [in] */ single pf);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FixedWidthFont )( 
            WebPageFont * This,
            /* [retval][out] */ BSTR *pstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FixedWidthFont )( 
            WebPageFont * This,
            /* [in] */ BSTR pstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FixedWidthFontSize )( 
            WebPageFont * This,
            /* [retval][out] */ single *pf);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FixedWidthFontSize )( 
            WebPageFont * This,
            /* [in] */ single pf);
        
        END_INTERFACE
    } WebPageFontVtbl;

    interface WebPageFont
    {
        CONST_VTBL struct WebPageFontVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define WebPageFont_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define WebPageFont_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define WebPageFont_get_ProportionalFont(This,pstr)	\
    ( (This)->lpVtbl -> get_ProportionalFont(This,pstr) ) 

#define WebPageFont_put_ProportionalFont(This,pstr)	\
    ( (This)->lpVtbl -> put_ProportionalFont(This,pstr) ) 

#define WebPageFont_get_ProportionalFontSize(This,pf)	\
    ( (This)->lpVtbl -> get_ProportionalFontSize(This,pf) ) 

#define WebPageFont_put_ProportionalFontSize(This,pf)	\
    ( (This)->lpVtbl -> put_ProportionalFontSize(This,pf) ) 

#define WebPageFont_get_FixedWidthFont(This,pstr)	\
    ( (This)->lpVtbl -> get_FixedWidthFont(This,pstr) ) 

#define WebPageFont_put_FixedWidthFont(This,pstr)	\
    ( (This)->lpVtbl -> put_FixedWidthFont(This,pstr) ) 

#define WebPageFont_get_FixedWidthFontSize(This,pf)	\
    ( (This)->lpVtbl -> get_FixedWidthFontSize(This,pf) ) 

#define WebPageFont_put_FixedWidthFontSize(This,pf)	\
    ( (This)->lpVtbl -> put_FixedWidthFontSize(This,pf) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __WebPageFont_INTERFACE_DEFINED__ */


#ifndef __WebPageFonts_INTERFACE_DEFINED__
#define __WebPageFonts_INTERFACE_DEFINED__

/* interface WebPageFonts */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_WebPageFonts;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0914-0000-0000-C000-000000000046")
    WebPageFonts : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ MsoCharacterSet Index,
            /* [retval][out] */ WebPageFont **Item) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct WebPageFontsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            WebPageFonts * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            WebPageFonts * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            WebPageFonts * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            WebPageFonts * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            WebPageFonts * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            WebPageFonts * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            WebPageFonts * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            WebPageFonts * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            WebPageFonts * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            WebPageFonts * This,
            /* [retval][out] */ int *Count);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            WebPageFonts * This,
            /* [in] */ MsoCharacterSet Index,
            /* [retval][out] */ WebPageFont **Item);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            WebPageFonts * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        END_INTERFACE
    } WebPageFontsVtbl;

    interface WebPageFonts
    {
        CONST_VTBL struct WebPageFontsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define WebPageFonts_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define WebPageFonts_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define WebPageFonts_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define WebPageFonts_get_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> get_Item(This,Index,Item) ) 

#define WebPageFonts_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __WebPageFonts_INTERFACE_DEFINED__ */


#ifndef __HTMLProjectItem_INTERFACE_DEFINED__
#define __HTMLProjectItem_INTERFACE_DEFINED__

/* interface HTMLProjectItem */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_HTMLProjectItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0358-0000-0000-C000-000000000046")
    HTMLProjectItem : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsOpen( 
            /* [retval][out] */ VARIANT_BOOL *RetValue) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE LoadFromFile( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [defaultvalue][optional][in] */ MsoHTMLProjectOpen OpenKind = ( MsoHTMLProjectOpen  )0) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SaveCopyAs( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *Text) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR Text) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct HTMLProjectItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            HTMLProjectItem * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            HTMLProjectItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            HTMLProjectItem * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            HTMLProjectItem * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            HTMLProjectItem * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            HTMLProjectItem * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLProjectItem * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            HTMLProjectItem * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            HTMLProjectItem * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            HTMLProjectItem * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsOpen )( 
            HTMLProjectItem * This,
            /* [retval][out] */ VARIANT_BOOL *RetValue);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *LoadFromFile )( 
            HTMLProjectItem * This,
            /* [in] */ BSTR FileName);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            HTMLProjectItem * This,
            /* [defaultvalue][optional][in] */ MsoHTMLProjectOpen OpenKind);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SaveCopyAs )( 
            HTMLProjectItem * This,
            /* [in] */ BSTR FileName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            HTMLProjectItem * This,
            /* [retval][out] */ BSTR *Text);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            HTMLProjectItem * This,
            /* [in] */ BSTR Text);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            HTMLProjectItem * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } HTMLProjectItemVtbl;

    interface HTMLProjectItem
    {
        CONST_VTBL struct HTMLProjectItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define HTMLProjectItem_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define HTMLProjectItem_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define HTMLProjectItem_get_Name(This,RetValue)	\
    ( (This)->lpVtbl -> get_Name(This,RetValue) ) 

#define HTMLProjectItem_get_IsOpen(This,RetValue)	\
    ( (This)->lpVtbl -> get_IsOpen(This,RetValue) ) 

#define HTMLProjectItem_LoadFromFile(This,FileName)	\
    ( (This)->lpVtbl -> LoadFromFile(This,FileName) ) 

#define HTMLProjectItem_Open(This,OpenKind)	\
    ( (This)->lpVtbl -> Open(This,OpenKind) ) 

#define HTMLProjectItem_SaveCopyAs(This,FileName)	\
    ( (This)->lpVtbl -> SaveCopyAs(This,FileName) ) 

#define HTMLProjectItem_get_Text(This,Text)	\
    ( (This)->lpVtbl -> get_Text(This,Text) ) 

#define HTMLProjectItem_put_Text(This,Text)	\
    ( (This)->lpVtbl -> put_Text(This,Text) ) 

#define HTMLProjectItem_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __HTMLProjectItem_INTERFACE_DEFINED__ */


#ifndef __HTMLProjectItems_INTERFACE_DEFINED__
#define __HTMLProjectItems_INTERFACE_DEFINED__

/* interface HTMLProjectItems */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_HTMLProjectItems;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0357-0000-0000-C000-000000000046")
    HTMLProjectItems : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT *Index,
            /* [retval][out] */ HTMLProjectItem **RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *RetValue) = 0;
        
        virtual /* [helpcontext][restricted][propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct HTMLProjectItemsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            HTMLProjectItems * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            HTMLProjectItems * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            HTMLProjectItems * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            HTMLProjectItems * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            HTMLProjectItems * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            HTMLProjectItems * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLProjectItems * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            HTMLProjectItems * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            HTMLProjectItems * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            HTMLProjectItems * This,
            /* [in] */ VARIANT *Index,
            /* [retval][out] */ HTMLProjectItem **RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            HTMLProjectItems * This,
            /* [retval][out] */ long *RetValue);
        
        /* [helpcontext][restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            HTMLProjectItems * This,
            /* [retval][out] */ IUnknown **RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            HTMLProjectItems * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } HTMLProjectItemsVtbl;

    interface HTMLProjectItems
    {
        CONST_VTBL struct HTMLProjectItemsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define HTMLProjectItems_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define HTMLProjectItems_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define HTMLProjectItems_Item(This,Index,RetValue)	\
    ( (This)->lpVtbl -> Item(This,Index,RetValue) ) 

#define HTMLProjectItems_get_Count(This,RetValue)	\
    ( (This)->lpVtbl -> get_Count(This,RetValue) ) 

#define HTMLProjectItems_get__NewEnum(This,RetValue)	\
    ( (This)->lpVtbl -> get__NewEnum(This,RetValue) ) 

#define HTMLProjectItems_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __HTMLProjectItems_INTERFACE_DEFINED__ */


#ifndef __HTMLProject_INTERFACE_DEFINED__
#define __HTMLProject_INTERFACE_DEFINED__

/* interface HTMLProject */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_HTMLProject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0356-0000-0000-C000-000000000046")
    HTMLProject : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ MsoHTMLProjectState *State) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RefreshProject( 
            /* [defaultvalue][optional][in] */ VARIANT_BOOL Refresh = -1) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RefreshDocument( 
            /* [defaultvalue][optional][in] */ VARIANT_BOOL Refresh = -1) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HTMLProjectItems( 
            /* [retval][out] */ HTMLProjectItems **HTMLProjectItems) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [defaultvalue][optional][in] */ MsoHTMLProjectOpen OpenKind = ( MsoHTMLProjectOpen  )0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct HTMLProjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            HTMLProject * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            HTMLProject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            HTMLProject * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            HTMLProject * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            HTMLProject * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            HTMLProject * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            HTMLProject * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            HTMLProject * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            HTMLProject * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            HTMLProject * This,
            /* [retval][out] */ MsoHTMLProjectState *State);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RefreshProject )( 
            HTMLProject * This,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL Refresh);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RefreshDocument )( 
            HTMLProject * This,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL Refresh);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HTMLProjectItems )( 
            HTMLProject * This,
            /* [retval][out] */ HTMLProjectItems **HTMLProjectItems);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            HTMLProject * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            HTMLProject * This,
            /* [defaultvalue][optional][in] */ MsoHTMLProjectOpen OpenKind);
        
        END_INTERFACE
    } HTMLProjectVtbl;

    interface HTMLProject
    {
        CONST_VTBL struct HTMLProjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define HTMLProject_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define HTMLProject_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define HTMLProject_get_State(This,State)	\
    ( (This)->lpVtbl -> get_State(This,State) ) 

#define HTMLProject_RefreshProject(This,Refresh)	\
    ( (This)->lpVtbl -> RefreshProject(This,Refresh) ) 

#define HTMLProject_RefreshDocument(This,Refresh)	\
    ( (This)->lpVtbl -> RefreshDocument(This,Refresh) ) 

#define HTMLProject_get_HTMLProjectItems(This,HTMLProjectItems)	\
    ( (This)->lpVtbl -> get_HTMLProjectItems(This,HTMLProjectItems) ) 

#define HTMLProject_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define HTMLProject_Open(This,OpenKind)	\
    ( (This)->lpVtbl -> Open(This,OpenKind) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __HTMLProject_INTERFACE_DEFINED__ */


#ifndef __MsoDebugOptions_INTERFACE_DEFINED__
#define __MsoDebugOptions_INTERFACE_DEFINED__

/* interface MsoDebugOptions */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_MsoDebugOptions;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C035A-0000-0000-C000-000000000046")
    MsoDebugOptions : public _IMsoDispObj
    {
    public:
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_FeatureReports( 
            /* [retval][out] */ int *puintFeatureReports) = 0;
        
        virtual /* [hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_FeatureReports( 
            /* [in] */ int puintFeatureReports) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_OutputToDebugger( 
            /* [retval][out] */ VARIANT_BOOL *pvarfOutputToDebugger) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_OutputToDebugger( 
            /* [in] */ VARIANT_BOOL pvarfOutputToDebugger) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_OutputToFile( 
            /* [retval][out] */ VARIANT_BOOL *pvarfOutputToFile) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_OutputToFile( 
            /* [in] */ VARIANT_BOOL pvarfOutputToFile) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_OutputToMessageBox( 
            /* [retval][out] */ VARIANT_BOOL *pvarfOutputToMessageBox) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_OutputToMessageBox( 
            /* [in] */ VARIANT_BOOL pvarfOutputToMessageBox) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UnitTestManager( 
            /* [retval][out] */ IUnknown **ppMsoUnitTestManager) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddIgnoredAssertTag( 
            /* [in] */ BSTR bstrTagToIgnore) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RemoveIgnoredAssertTag( 
            /* [in] */ BSTR bstrTagToIgnore) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct MsoDebugOptionsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            MsoDebugOptions * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            MsoDebugOptions * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            MsoDebugOptions * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            MsoDebugOptions * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            MsoDebugOptions * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            MsoDebugOptions * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            MsoDebugOptions * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            MsoDebugOptions * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            MsoDebugOptions * This,
            /* [retval][out] */ long *plCreator);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FeatureReports )( 
            MsoDebugOptions * This,
            /* [retval][out] */ int *puintFeatureReports);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FeatureReports )( 
            MsoDebugOptions * This,
            /* [in] */ int puintFeatureReports);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OutputToDebugger )( 
            MsoDebugOptions * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfOutputToDebugger);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OutputToDebugger )( 
            MsoDebugOptions * This,
            /* [in] */ VARIANT_BOOL pvarfOutputToDebugger);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OutputToFile )( 
            MsoDebugOptions * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfOutputToFile);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OutputToFile )( 
            MsoDebugOptions * This,
            /* [in] */ VARIANT_BOOL pvarfOutputToFile);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OutputToMessageBox )( 
            MsoDebugOptions * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfOutputToMessageBox);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OutputToMessageBox )( 
            MsoDebugOptions * This,
            /* [in] */ VARIANT_BOOL pvarfOutputToMessageBox);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UnitTestManager )( 
            MsoDebugOptions * This,
            /* [retval][out] */ IUnknown **ppMsoUnitTestManager);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddIgnoredAssertTag )( 
            MsoDebugOptions * This,
            /* [in] */ BSTR bstrTagToIgnore);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemoveIgnoredAssertTag )( 
            MsoDebugOptions * This,
            /* [in] */ BSTR bstrTagToIgnore);
        
        END_INTERFACE
    } MsoDebugOptionsVtbl;

    interface MsoDebugOptions
    {
        CONST_VTBL struct MsoDebugOptionsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define MsoDebugOptions_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define MsoDebugOptions_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define MsoDebugOptions_get_FeatureReports(This,puintFeatureReports)	\
    ( (This)->lpVtbl -> get_FeatureReports(This,puintFeatureReports) ) 

#define MsoDebugOptions_put_FeatureReports(This,puintFeatureReports)	\
    ( (This)->lpVtbl -> put_FeatureReports(This,puintFeatureReports) ) 

#define MsoDebugOptions_get_OutputToDebugger(This,pvarfOutputToDebugger)	\
    ( (This)->lpVtbl -> get_OutputToDebugger(This,pvarfOutputToDebugger) ) 

#define MsoDebugOptions_put_OutputToDebugger(This,pvarfOutputToDebugger)	\
    ( (This)->lpVtbl -> put_OutputToDebugger(This,pvarfOutputToDebugger) ) 

#define MsoDebugOptions_get_OutputToFile(This,pvarfOutputToFile)	\
    ( (This)->lpVtbl -> get_OutputToFile(This,pvarfOutputToFile) ) 

#define MsoDebugOptions_put_OutputToFile(This,pvarfOutputToFile)	\
    ( (This)->lpVtbl -> put_OutputToFile(This,pvarfOutputToFile) ) 

#define MsoDebugOptions_get_OutputToMessageBox(This,pvarfOutputToMessageBox)	\
    ( (This)->lpVtbl -> get_OutputToMessageBox(This,pvarfOutputToMessageBox) ) 

#define MsoDebugOptions_put_OutputToMessageBox(This,pvarfOutputToMessageBox)	\
    ( (This)->lpVtbl -> put_OutputToMessageBox(This,pvarfOutputToMessageBox) ) 

#define MsoDebugOptions_get_UnitTestManager(This,ppMsoUnitTestManager)	\
    ( (This)->lpVtbl -> get_UnitTestManager(This,ppMsoUnitTestManager) ) 

#define MsoDebugOptions_AddIgnoredAssertTag(This,bstrTagToIgnore)	\
    ( (This)->lpVtbl -> AddIgnoredAssertTag(This,bstrTagToIgnore) ) 

#define MsoDebugOptions_RemoveIgnoredAssertTag(This,bstrTagToIgnore)	\
    ( (This)->lpVtbl -> RemoveIgnoredAssertTag(This,bstrTagToIgnore) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __MsoDebugOptions_INTERFACE_DEFINED__ */


#ifndef __FileDialogSelectedItems_INTERFACE_DEFINED__
#define __FileDialogSelectedItems_INTERFACE_DEFINED__

/* interface FileDialogSelectedItems */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_FileDialogSelectedItems;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0363-0000-0000-C000-000000000046")
    FileDialogSelectedItems : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pcFiles) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ int Index,
            /* [retval][out] */ BSTR *Item) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct FileDialogSelectedItemsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            FileDialogSelectedItems * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            FileDialogSelectedItems * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            FileDialogSelectedItems * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            FileDialogSelectedItems * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            FileDialogSelectedItems * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            FileDialogSelectedItems * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            FileDialogSelectedItems * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            FileDialogSelectedItems * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            FileDialogSelectedItems * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            FileDialogSelectedItems * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            FileDialogSelectedItems * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            FileDialogSelectedItems * This,
            /* [retval][out] */ long *pcFiles);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            FileDialogSelectedItems * This,
            /* [in] */ int Index,
            /* [retval][out] */ BSTR *Item);
        
        END_INTERFACE
    } FileDialogSelectedItemsVtbl;

    interface FileDialogSelectedItems
    {
        CONST_VTBL struct FileDialogSelectedItemsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define FileDialogSelectedItems_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define FileDialogSelectedItems_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define FileDialogSelectedItems_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define FileDialogSelectedItems_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define FileDialogSelectedItems_get_Count(This,pcFiles)	\
    ( (This)->lpVtbl -> get_Count(This,pcFiles) ) 

#define FileDialogSelectedItems_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> Item(This,Index,Item) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __FileDialogSelectedItems_INTERFACE_DEFINED__ */


#ifndef __FileDialogFilter_INTERFACE_DEFINED__
#define __FileDialogFilter_INTERFACE_DEFINED__

/* interface FileDialogFilter */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_FileDialogFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0364-0000-0000-C000-000000000046")
    FileDialogFilter : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Extensions( 
            /* [retval][out] */ BSTR *Extensions) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *Description) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct FileDialogFilterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            FileDialogFilter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            FileDialogFilter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            FileDialogFilter * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            FileDialogFilter * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            FileDialogFilter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            FileDialogFilter * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            FileDialogFilter * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            FileDialogFilter * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            FileDialogFilter * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            FileDialogFilter * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Extensions )( 
            FileDialogFilter * This,
            /* [retval][out] */ BSTR *Extensions);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            FileDialogFilter * This,
            /* [retval][out] */ BSTR *Description);
        
        END_INTERFACE
    } FileDialogFilterVtbl;

    interface FileDialogFilter
    {
        CONST_VTBL struct FileDialogFilterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define FileDialogFilter_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define FileDialogFilter_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define FileDialogFilter_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define FileDialogFilter_get_Extensions(This,Extensions)	\
    ( (This)->lpVtbl -> get_Extensions(This,Extensions) ) 

#define FileDialogFilter_get_Description(This,Description)	\
    ( (This)->lpVtbl -> get_Description(This,Description) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __FileDialogFilter_INTERFACE_DEFINED__ */


#ifndef __FileDialogFilters_INTERFACE_DEFINED__
#define __FileDialogFilters_INTERFACE_DEFINED__

/* interface FileDialogFilters */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_FileDialogFilters;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0365-0000-0000-C000-000000000046")
    FileDialogFilters : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pcFilters) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ int Index,
            /* [retval][out] */ FileDialogFilter **Item) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [optional][in] */ VARIANT filter) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Description,
            /* [in] */ BSTR Extensions,
            /* [optional][in] */ VARIANT Position,
            /* [retval][out] */ FileDialogFilter **Add) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct FileDialogFiltersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            FileDialogFilters * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            FileDialogFilters * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            FileDialogFilters * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            FileDialogFilters * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            FileDialogFilters * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            FileDialogFilters * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            FileDialogFilters * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            FileDialogFilters * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            FileDialogFilters * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            FileDialogFilters * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            FileDialogFilters * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            FileDialogFilters * This,
            /* [retval][out] */ long *pcFilters);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            FileDialogFilters * This,
            /* [in] */ int Index,
            /* [retval][out] */ FileDialogFilter **Item);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            FileDialogFilters * This,
            /* [optional][in] */ VARIANT filter);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            FileDialogFilters * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            FileDialogFilters * This,
            /* [in] */ BSTR Description,
            /* [in] */ BSTR Extensions,
            /* [optional][in] */ VARIANT Position,
            /* [retval][out] */ FileDialogFilter **Add);
        
        END_INTERFACE
    } FileDialogFiltersVtbl;

    interface FileDialogFilters
    {
        CONST_VTBL struct FileDialogFiltersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define FileDialogFilters_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define FileDialogFilters_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define FileDialogFilters_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define FileDialogFilters_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define FileDialogFilters_get_Count(This,pcFilters)	\
    ( (This)->lpVtbl -> get_Count(This,pcFilters) ) 

#define FileDialogFilters_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> Item(This,Index,Item) ) 

#define FileDialogFilters_Delete(This,filter)	\
    ( (This)->lpVtbl -> Delete(This,filter) ) 

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

#define FileDialogFilters_Add(This,Description,Extensions,Position,Add)	\
    ( (This)->lpVtbl -> Add(This,Description,Extensions,Position,Add) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __FileDialogFilters_INTERFACE_DEFINED__ */


#ifndef __FileDialog_INTERFACE_DEFINED__
#define __FileDialog_INTERFACE_DEFINED__

/* interface FileDialog */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_FileDialog;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0362-0000-0000-C000-000000000046")
    FileDialog : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Filters( 
            /* [retval][out] */ FileDialogFilters **Filters) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FilterIndex( 
            /* [retval][out] */ int *FilterIndex) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_FilterIndex( 
            /* [in] */ int FilterIndex) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *Title) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR Title) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ButtonName( 
            /* [retval][out] */ BSTR *ButtonName) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ButtonName( 
            /* [in] */ BSTR ButtonName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AllowMultiSelect( 
            /* [retval][out] */ VARIANT_BOOL *pvarfAllowMultiSelect) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AllowMultiSelect( 
            /* [in] */ VARIANT_BOOL pvarfAllowMultiSelect) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_InitialView( 
            /* [retval][out] */ MsoFileDialogView *pinitialview) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_InitialView( 
            /* [in] */ MsoFileDialogView pinitialview) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_InitialFileName( 
            /* [retval][out] */ BSTR *InitialFileName) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_InitialFileName( 
            /* [in] */ BSTR InitialFileName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SelectedItems( 
            /* [retval][out] */ FileDialogSelectedItems **Files) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DialogType( 
            /* [retval][out] */ MsoFileDialogType *pdialogtype) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Show( 
            /* [retval][out] */ int *rval) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Execute( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct FileDialogVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            FileDialog * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            FileDialog * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            FileDialog * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            FileDialog * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            FileDialog * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            FileDialog * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            FileDialog * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            FileDialog * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            FileDialog * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            FileDialog * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Filters )( 
            FileDialog * This,
            /* [retval][out] */ FileDialogFilters **Filters);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FilterIndex )( 
            FileDialog * This,
            /* [retval][out] */ int *FilterIndex);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FilterIndex )( 
            FileDialog * This,
            /* [in] */ int FilterIndex);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            FileDialog * This,
            /* [retval][out] */ BSTR *Title);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            FileDialog * This,
            /* [in] */ BSTR Title);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ButtonName )( 
            FileDialog * This,
            /* [retval][out] */ BSTR *ButtonName);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ButtonName )( 
            FileDialog * This,
            /* [in] */ BSTR ButtonName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AllowMultiSelect )( 
            FileDialog * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfAllowMultiSelect);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AllowMultiSelect )( 
            FileDialog * This,
            /* [in] */ VARIANT_BOOL pvarfAllowMultiSelect);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InitialView )( 
            FileDialog * This,
            /* [retval][out] */ MsoFileDialogView *pinitialview);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InitialView )( 
            FileDialog * This,
            /* [in] */ MsoFileDialogView pinitialview);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InitialFileName )( 
            FileDialog * This,
            /* [retval][out] */ BSTR *InitialFileName);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InitialFileName )( 
            FileDialog * This,
            /* [in] */ BSTR InitialFileName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedItems )( 
            FileDialog * This,
            /* [retval][out] */ FileDialogSelectedItems **Files);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DialogType )( 
            FileDialog * This,
            /* [retval][out] */ MsoFileDialogType *pdialogtype);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            FileDialog * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Show )( 
            FileDialog * This,
            /* [retval][out] */ int *rval);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Execute )( 
            FileDialog * This);
        
        END_INTERFACE
    } FileDialogVtbl;

    interface FileDialog
    {
        CONST_VTBL struct FileDialogVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define FileDialog_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define FileDialog_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define FileDialog_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define FileDialog_get_Filters(This,Filters)	\
    ( (This)->lpVtbl -> get_Filters(This,Filters) ) 

#define FileDialog_get_FilterIndex(This,FilterIndex)	\
    ( (This)->lpVtbl -> get_FilterIndex(This,FilterIndex) ) 

#define FileDialog_put_FilterIndex(This,FilterIndex)	\
    ( (This)->lpVtbl -> put_FilterIndex(This,FilterIndex) ) 

#define FileDialog_get_Title(This,Title)	\
    ( (This)->lpVtbl -> get_Title(This,Title) ) 

#define FileDialog_put_Title(This,Title)	\
    ( (This)->lpVtbl -> put_Title(This,Title) ) 

#define FileDialog_get_ButtonName(This,ButtonName)	\
    ( (This)->lpVtbl -> get_ButtonName(This,ButtonName) ) 

#define FileDialog_put_ButtonName(This,ButtonName)	\
    ( (This)->lpVtbl -> put_ButtonName(This,ButtonName) ) 

#define FileDialog_get_AllowMultiSelect(This,pvarfAllowMultiSelect)	\
    ( (This)->lpVtbl -> get_AllowMultiSelect(This,pvarfAllowMultiSelect) ) 

#define FileDialog_put_AllowMultiSelect(This,pvarfAllowMultiSelect)	\
    ( (This)->lpVtbl -> put_AllowMultiSelect(This,pvarfAllowMultiSelect) ) 

#define FileDialog_get_InitialView(This,pinitialview)	\
    ( (This)->lpVtbl -> get_InitialView(This,pinitialview) ) 

#define FileDialog_put_InitialView(This,pinitialview)	\
    ( (This)->lpVtbl -> put_InitialView(This,pinitialview) ) 

#define FileDialog_get_InitialFileName(This,InitialFileName)	\
    ( (This)->lpVtbl -> get_InitialFileName(This,InitialFileName) ) 

#define FileDialog_put_InitialFileName(This,InitialFileName)	\
    ( (This)->lpVtbl -> put_InitialFileName(This,InitialFileName) ) 

#define FileDialog_get_SelectedItems(This,Files)	\
    ( (This)->lpVtbl -> get_SelectedItems(This,Files) ) 

#define FileDialog_get_DialogType(This,pdialogtype)	\
    ( (This)->lpVtbl -> get_DialogType(This,pdialogtype) ) 

#define FileDialog_get_Item(This,Name)	\
    ( (This)->lpVtbl -> get_Item(This,Name) ) 

#define FileDialog_Show(This,rval)	\
    ( (This)->lpVtbl -> Show(This,rval) ) 

#define FileDialog_Execute(This)	\
    ( (This)->lpVtbl -> Execute(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __FileDialog_INTERFACE_DEFINED__ */


#ifndef __SignatureSet_INTERFACE_DEFINED__
#define __SignatureSet_INTERFACE_DEFINED__

/* interface SignatureSet */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SignatureSet;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0410-0000-0000-C000-000000000046")
    SignatureSet : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pcSig) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int iSig,
            /* [retval][out] */ Signature **ppidisp) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [retval][out] */ Signature **ppidisp) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE Commit( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddNonVisibleSignature( 
            /* [optional][in] */ VARIANT varSigProv,
            /* [retval][out] */ Signature **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CanAddSignatureLine( 
            /* [retval][out] */ VARIANT_BOOL *pvarfCanAddSigLine) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddSignatureLine( 
            /* [optional][in] */ VARIANT varSigProv,
            /* [retval][out] */ Signature **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Subset( 
            /* [retval][out] */ MsoSignatureSubset *psubset) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Subset( 
            /* [in] */ MsoSignatureSubset psubset) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ShowSignaturesPane( 
            /* [in] */ VARIANT_BOOL rhs) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SignatureSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SignatureSet * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SignatureSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SignatureSet * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SignatureSet * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SignatureSet * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SignatureSet * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SignatureSet * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SignatureSet * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SignatureSet * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SignatureSet * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SignatureSet * This,
            /* [retval][out] */ int *pcSig);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SignatureSet * This,
            /* [in] */ int iSig,
            /* [retval][out] */ Signature **ppidisp);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            SignatureSet * This,
            /* [retval][out] */ Signature **ppidisp);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Commit )( 
            SignatureSet * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SignatureSet * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddNonVisibleSignature )( 
            SignatureSet * This,
            /* [optional][in] */ VARIANT varSigProv,
            /* [retval][out] */ Signature **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanAddSignatureLine )( 
            SignatureSet * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfCanAddSigLine);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSignatureLine )( 
            SignatureSet * This,
            /* [optional][in] */ VARIANT varSigProv,
            /* [retval][out] */ Signature **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Subset )( 
            SignatureSet * This,
            /* [retval][out] */ MsoSignatureSubset *psubset);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Subset )( 
            SignatureSet * This,
            /* [in] */ MsoSignatureSubset psubset);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShowSignaturesPane )( 
            SignatureSet * This,
            /* [in] */ VARIANT_BOOL rhs);
        
        END_INTERFACE
    } SignatureSetVtbl;

    interface SignatureSet
    {
        CONST_VTBL struct SignatureSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SignatureSet_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SignatureSet_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SignatureSet_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define SignatureSet_get_Count(This,pcSig)	\
    ( (This)->lpVtbl -> get_Count(This,pcSig) ) 

#define SignatureSet_get_Item(This,iSig,ppidisp)	\
    ( (This)->lpVtbl -> get_Item(This,iSig,ppidisp) ) 

#define SignatureSet_Add(This,ppidisp)	\
    ( (This)->lpVtbl -> Add(This,ppidisp) ) 

#define SignatureSet_Commit(This)	\
    ( (This)->lpVtbl -> Commit(This) ) 

#define SignatureSet_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define SignatureSet_AddNonVisibleSignature(This,varSigProv,ppidisp)	\
    ( (This)->lpVtbl -> AddNonVisibleSignature(This,varSigProv,ppidisp) ) 

#define SignatureSet_get_CanAddSignatureLine(This,pvarfCanAddSigLine)	\
    ( (This)->lpVtbl -> get_CanAddSignatureLine(This,pvarfCanAddSigLine) ) 

#define SignatureSet_AddSignatureLine(This,varSigProv,ppidisp)	\
    ( (This)->lpVtbl -> AddSignatureLine(This,varSigProv,ppidisp) ) 

#define SignatureSet_get_Subset(This,psubset)	\
    ( (This)->lpVtbl -> get_Subset(This,psubset) ) 

#define SignatureSet_put_Subset(This,psubset)	\
    ( (This)->lpVtbl -> put_Subset(This,psubset) ) 

#define SignatureSet_put_ShowSignaturesPane(This,rhs)	\
    ( (This)->lpVtbl -> put_ShowSignaturesPane(This,rhs) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SignatureSet_INTERFACE_DEFINED__ */


#ifndef __Signature_INTERFACE_DEFINED__
#define __Signature_INTERFACE_DEFINED__

/* interface Signature */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_Signature;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0411-0000-0000-C000-000000000046")
    Signature : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Signer( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Issuer( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_ExpireDate( 
            /* [retval][out] */ VARIANT *pvarDate) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsValid( 
            /* [retval][out] */ VARIANT_BOOL *pvarfValid) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_AttachCertificate( 
            /* [retval][out] */ VARIANT_BOOL *pvarfAttach) = 0;
        
        virtual /* [helpcontext][hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_AttachCertificate( 
            /* [in] */ VARIANT_BOOL pvarfAttach) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsCertificateExpired( 
            /* [retval][out] */ VARIANT_BOOL *pvarfExpired) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsCertificateRevoked( 
            /* [retval][out] */ VARIANT_BOOL *pvarfRevoked) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_SignDate( 
            /* [retval][out] */ VARIANT *pvarDate) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsSigned( 
            /* [retval][out] */ VARIANT_BOOL *pvarfSigned) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Sign( 
            /* [optional][in] */ VARIANT varSigImg,
            /* [optional][in] */ VARIANT varDelSuggSigner,
            /* [optional][in] */ VARIANT varDelSuggSignerLine2,
            /* [optional][in] */ VARIANT varDelSuggSignerEmail) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Details( 
            /* [retval][out] */ SignatureInfo **ppsiginfo) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ShowDetails( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CanSetup( 
            /* [retval][out] */ VARIANT_BOOL *pvarfCanSetup) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Setup( 
            /* [retval][out] */ SignatureSetup **ppsigsetup) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsSignatureLine( 
            /* [retval][out] */ VARIANT_BOOL *pvarfSignatureLine) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SignatureLineShape( 
            /* [retval][out] */ IDispatch **ppidispShape) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SortHint( 
            /* [retval][out] */ long *plSortHint) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SignatureVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Signature * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Signature * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Signature * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Signature * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Signature * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Signature * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Signature * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Signature * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Signature * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Signer )( 
            Signature * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Issuer )( 
            Signature * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExpireDate )( 
            Signature * This,
            /* [retval][out] */ VARIANT *pvarDate);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsValid )( 
            Signature * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfValid);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AttachCertificate )( 
            Signature * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfAttach);
        
        /* [helpcontext][hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AttachCertificate )( 
            Signature * This,
            /* [in] */ VARIANT_BOOL pvarfAttach);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            Signature * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Signature * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsCertificateExpired )( 
            Signature * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfExpired);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsCertificateRevoked )( 
            Signature * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfRevoked);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SignDate )( 
            Signature * This,
            /* [retval][out] */ VARIANT *pvarDate);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsSigned )( 
            Signature * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfSigned);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Sign )( 
            Signature * This,
            /* [optional][in] */ VARIANT varSigImg,
            /* [optional][in] */ VARIANT varDelSuggSigner,
            /* [optional][in] */ VARIANT varDelSuggSignerLine2,
            /* [optional][in] */ VARIANT varDelSuggSignerEmail);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Details )( 
            Signature * This,
            /* [retval][out] */ SignatureInfo **ppsiginfo);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ShowDetails )( 
            Signature * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CanSetup )( 
            Signature * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfCanSetup);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Setup )( 
            Signature * This,
            /* [retval][out] */ SignatureSetup **ppsigsetup);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsSignatureLine )( 
            Signature * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfSignatureLine);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SignatureLineShape )( 
            Signature * This,
            /* [retval][out] */ IDispatch **ppidispShape);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SortHint )( 
            Signature * This,
            /* [retval][out] */ long *plSortHint);
        
        END_INTERFACE
    } SignatureVtbl;

    interface Signature
    {
        CONST_VTBL struct SignatureVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define Signature_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Signature_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Signature_get_Signer(This,pbstr)	\
    ( (This)->lpVtbl -> get_Signer(This,pbstr) ) 

#define Signature_get_Issuer(This,pbstr)	\
    ( (This)->lpVtbl -> get_Issuer(This,pbstr) ) 

#define Signature_get_ExpireDate(This,pvarDate)	\
    ( (This)->lpVtbl -> get_ExpireDate(This,pvarDate) ) 

#define Signature_get_IsValid(This,pvarfValid)	\
    ( (This)->lpVtbl -> get_IsValid(This,pvarfValid) ) 

#define Signature_get_AttachCertificate(This,pvarfAttach)	\
    ( (This)->lpVtbl -> get_AttachCertificate(This,pvarfAttach) ) 

#define Signature_put_AttachCertificate(This,pvarfAttach)	\
    ( (This)->lpVtbl -> put_AttachCertificate(This,pvarfAttach) ) 

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

#define Signature_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define Signature_get_IsCertificateExpired(This,pvarfExpired)	\
    ( (This)->lpVtbl -> get_IsCertificateExpired(This,pvarfExpired) ) 

#define Signature_get_IsCertificateRevoked(This,pvarfRevoked)	\
    ( (This)->lpVtbl -> get_IsCertificateRevoked(This,pvarfRevoked) ) 

#define Signature_get_SignDate(This,pvarDate)	\
    ( (This)->lpVtbl -> get_SignDate(This,pvarDate) ) 

#define Signature_get_IsSigned(This,pvarfSigned)	\
    ( (This)->lpVtbl -> get_IsSigned(This,pvarfSigned) ) 

#define Signature_Sign(This,varSigImg,varDelSuggSigner,varDelSuggSignerLine2,varDelSuggSignerEmail)	\
    ( (This)->lpVtbl -> Sign(This,varSigImg,varDelSuggSigner,varDelSuggSignerLine2,varDelSuggSignerEmail) ) 

#define Signature_get_Details(This,ppsiginfo)	\
    ( (This)->lpVtbl -> get_Details(This,ppsiginfo) ) 

#define Signature_ShowDetails(This)	\
    ( (This)->lpVtbl -> ShowDetails(This) ) 

#define Signature_get_CanSetup(This,pvarfCanSetup)	\
    ( (This)->lpVtbl -> get_CanSetup(This,pvarfCanSetup) ) 

#define Signature_get_Setup(This,ppsigsetup)	\
    ( (This)->lpVtbl -> get_Setup(This,ppsigsetup) ) 

#define Signature_get_IsSignatureLine(This,pvarfSignatureLine)	\
    ( (This)->lpVtbl -> get_IsSignatureLine(This,pvarfSignatureLine) ) 

#define Signature_get_SignatureLineShape(This,ppidispShape)	\
    ( (This)->lpVtbl -> get_SignatureLineShape(This,ppidispShape) ) 

#define Signature_get_SortHint(This,plSortHint)	\
    ( (This)->lpVtbl -> get_SortHint(This,plSortHint) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Signature_INTERFACE_DEFINED__ */


#ifndef __IMsoEnvelopeVB_INTERFACE_DEFINED__
#define __IMsoEnvelopeVB_INTERFACE_DEFINED__

/* interface IMsoEnvelopeVB */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoEnvelopeVB;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000672AC-0000-0000-C000-000000000046")
    IMsoEnvelopeVB : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Introduction( 
            /* [retval][out] */ BSTR *pbstrIntro) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Introduction( 
            /* [in] */ BSTR pbstrIntro) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [retval][out] */ IDispatch **ppdisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CommandBars( 
            /* [retval][out] */ IDispatch **ppdisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoEnvelopeVBVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoEnvelopeVB * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoEnvelopeVB * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoEnvelopeVB * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoEnvelopeVB * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoEnvelopeVB * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoEnvelopeVB * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoEnvelopeVB * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Introduction )( 
            IMsoEnvelopeVB * This,
            /* [retval][out] */ BSTR *pbstrIntro);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Introduction )( 
            IMsoEnvelopeVB * This,
            /* [in] */ BSTR pbstrIntro);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IMsoEnvelopeVB * This,
            /* [retval][out] */ IDispatch **ppdisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoEnvelopeVB * This,
            /* [retval][out] */ IDispatch **ppdisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CommandBars )( 
            IMsoEnvelopeVB * This,
            /* [retval][out] */ IDispatch **ppdisp);
        
        END_INTERFACE
    } IMsoEnvelopeVBVtbl;

    interface IMsoEnvelopeVB
    {
        CONST_VTBL struct IMsoEnvelopeVBVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IMsoEnvelopeVB_get_Introduction(This,pbstrIntro)	\
    ( (This)->lpVtbl -> get_Introduction(This,pbstrIntro) ) 

#define IMsoEnvelopeVB_put_Introduction(This,pbstrIntro)	\
    ( (This)->lpVtbl -> put_Introduction(This,pbstrIntro) ) 

#define IMsoEnvelopeVB_get_Item(This,ppdisp)	\
    ( (This)->lpVtbl -> get_Item(This,ppdisp) ) 

#define IMsoEnvelopeVB_get_Parent(This,ppdisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdisp) ) 

#define IMsoEnvelopeVB_get_CommandBars(This,ppdisp)	\
    ( (This)->lpVtbl -> get_CommandBars(This,ppdisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoEnvelopeVB_INTERFACE_DEFINED__ */


#ifndef __IMsoEnvelopeVBEvents_DISPINTERFACE_DEFINED__
#define __IMsoEnvelopeVBEvents_DISPINTERFACE_DEFINED__

/* dispinterface IMsoEnvelopeVBEvents */
/* [helpcontext][uuid] */ 


extern "C++" const IID DIID_IMsoEnvelopeVBEvents;

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

    MIDL_INTERFACE("000672AD-0000-0000-C000-000000000046")
    IMsoEnvelopeVBEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

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

    interface IMsoEnvelopeVBEvents
    {
        CONST_VTBL struct IMsoEnvelopeVBEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __IMsoEnvelopeVBEvents_DISPINTERFACE_DEFINED__ */


#ifndef __FileTypes_INTERFACE_DEFINED__
#define __FileTypes_INTERFACE_DEFINED__

/* interface FileTypes */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_FileTypes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C036C-0000-0000-C000-000000000046")
    FileTypes : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ MsoFileType *MsoFileTypeRet) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *iCountRetVal) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ MsoFileType FileType) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ int Index) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct FileTypesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            FileTypes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            FileTypes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            FileTypes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            FileTypes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            FileTypes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            FileTypes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            FileTypes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            FileTypes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            FileTypes * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            FileTypes * This,
            /* [in] */ int Index,
            /* [retval][out] */ MsoFileType *MsoFileTypeRet);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            FileTypes * This,
            /* [retval][out] */ int *iCountRetVal);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            FileTypes * This,
            /* [in] */ MsoFileType FileType);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            FileTypes * This,
            /* [in] */ int Index);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            FileTypes * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } FileTypesVtbl;

    interface FileTypes
    {
        CONST_VTBL struct FileTypesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define FileTypes_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define FileTypes_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define FileTypes_get_Item(This,Index,MsoFileTypeRet)	\
    ( (This)->lpVtbl -> get_Item(This,Index,MsoFileTypeRet) ) 

#define FileTypes_get_Count(This,iCountRetVal)	\
    ( (This)->lpVtbl -> get_Count(This,iCountRetVal) ) 

#define FileTypes_Add(This,FileType)	\
    ( (This)->lpVtbl -> Add(This,FileType) ) 

#define FileTypes_Remove(This,Index)	\
    ( (This)->lpVtbl -> Remove(This,Index) ) 

#define FileTypes_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __FileTypes_INTERFACE_DEFINED__ */


#ifndef __SearchFolders_INTERFACE_DEFINED__
#define __SearchFolders_INTERFACE_DEFINED__

/* interface SearchFolders */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SearchFolders;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C036A-0000-0000-C000-000000000046")
    SearchFolders : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ ScopeFolder **ScopeFolderRet) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *iCountRetVal) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ ScopeFolder *ScopeFolder) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ int Index) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SearchFoldersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SearchFolders * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SearchFolders * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SearchFolders * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SearchFolders * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SearchFolders * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SearchFolders * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SearchFolders * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SearchFolders * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SearchFolders * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SearchFolders * This,
            /* [in] */ int Index,
            /* [retval][out] */ ScopeFolder **ScopeFolderRet);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SearchFolders * This,
            /* [retval][out] */ int *iCountRetVal);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            SearchFolders * This,
            /* [in] */ ScopeFolder *ScopeFolder);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            SearchFolders * This,
            /* [in] */ int Index);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SearchFolders * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } SearchFoldersVtbl;

    interface SearchFolders
    {
        CONST_VTBL struct SearchFoldersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SearchFolders_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SearchFolders_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SearchFolders_get_Item(This,Index,ScopeFolderRet)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ScopeFolderRet) ) 

#define SearchFolders_get_Count(This,iCountRetVal)	\
    ( (This)->lpVtbl -> get_Count(This,iCountRetVal) ) 

#define SearchFolders_Add(This,ScopeFolder)	\
    ( (This)->lpVtbl -> Add(This,ScopeFolder) ) 

#define SearchFolders_Remove(This,Index)	\
    ( (This)->lpVtbl -> Remove(This,Index) ) 

#define SearchFolders_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SearchFolders_INTERFACE_DEFINED__ */


#ifndef __ScopeFolders_INTERFACE_DEFINED__
#define __ScopeFolders_INTERFACE_DEFINED__

/* interface ScopeFolders */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_ScopeFolders;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0369-0000-0000-C000-000000000046")
    ScopeFolders : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ ScopeFolder **ScopeFolderRet) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *iCountRetVal) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ScopeFoldersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ScopeFolders * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ScopeFolders * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ScopeFolders * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ScopeFolders * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ScopeFolders * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ScopeFolders * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ScopeFolders * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ScopeFolders * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ScopeFolders * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ScopeFolders * This,
            /* [in] */ int Index,
            /* [retval][out] */ ScopeFolder **ScopeFolderRet);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ScopeFolders * This,
            /* [retval][out] */ int *iCountRetVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            ScopeFolders * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } ScopeFoldersVtbl;

    interface ScopeFolders
    {
        CONST_VTBL struct ScopeFoldersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ScopeFolders_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ScopeFolders_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ScopeFolders_get_Item(This,Index,ScopeFolderRet)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ScopeFolderRet) ) 

#define ScopeFolders_get_Count(This,iCountRetVal)	\
    ( (This)->lpVtbl -> get_Count(This,iCountRetVal) ) 

#define ScopeFolders_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ScopeFolders_INTERFACE_DEFINED__ */


#ifndef __ScopeFolder_INTERFACE_DEFINED__
#define __ScopeFolder_INTERFACE_DEFINED__

/* interface ScopeFolder */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_ScopeFolder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0368-0000-0000-C000-000000000046")
    ScopeFolder : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *pbstrPath) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ScopeFolders( 
            /* [retval][out] */ ScopeFolders **ScopeFoldersRet) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddToSearchFolders( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ScopeFolderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ScopeFolder * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ScopeFolder * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ScopeFolder * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ScopeFolder * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ScopeFolder * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ScopeFolder * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ScopeFolder * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ScopeFolder * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ScopeFolder * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ScopeFolder * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            ScopeFolder * This,
            /* [retval][out] */ BSTR *pbstrPath);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScopeFolders )( 
            ScopeFolder * This,
            /* [retval][out] */ ScopeFolders **ScopeFoldersRet);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddToSearchFolders )( 
            ScopeFolder * This);
        
        END_INTERFACE
    } ScopeFolderVtbl;

    interface ScopeFolder
    {
        CONST_VTBL struct ScopeFolderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ScopeFolder_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ScopeFolder_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ScopeFolder_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define ScopeFolder_get_Path(This,pbstrPath)	\
    ( (This)->lpVtbl -> get_Path(This,pbstrPath) ) 

#define ScopeFolder_get_ScopeFolders(This,ScopeFoldersRet)	\
    ( (This)->lpVtbl -> get_ScopeFolders(This,ScopeFoldersRet) ) 

#define ScopeFolder_AddToSearchFolders(This)	\
    ( (This)->lpVtbl -> AddToSearchFolders(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ScopeFolder_INTERFACE_DEFINED__ */


#ifndef __SearchScope_INTERFACE_DEFINED__
#define __SearchScope_INTERFACE_DEFINED__

/* interface SearchScope */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SearchScope;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0367-0000-0000-C000-000000000046")
    SearchScope : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoSearchIn *MsoSearchInRetVal) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ScopeFolder( 
            /* [retval][out] */ ScopeFolder **ScopeFolderRet) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SearchScopeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SearchScope * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SearchScope * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SearchScope * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SearchScope * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SearchScope * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SearchScope * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SearchScope * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SearchScope * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SearchScope * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            SearchScope * This,
            /* [retval][out] */ MsoSearchIn *MsoSearchInRetVal);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScopeFolder )( 
            SearchScope * This,
            /* [retval][out] */ ScopeFolder **ScopeFolderRet);
        
        END_INTERFACE
    } SearchScopeVtbl;

    interface SearchScope
    {
        CONST_VTBL struct SearchScopeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SearchScope_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SearchScope_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SearchScope_get_Type(This,MsoSearchInRetVal)	\
    ( (This)->lpVtbl -> get_Type(This,MsoSearchInRetVal) ) 

#define SearchScope_get_ScopeFolder(This,ScopeFolderRet)	\
    ( (This)->lpVtbl -> get_ScopeFolder(This,ScopeFolderRet) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SearchScope_INTERFACE_DEFINED__ */


#ifndef __SearchScopes_INTERFACE_DEFINED__
#define __SearchScopes_INTERFACE_DEFINED__

/* interface SearchScopes */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SearchScopes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0366-0000-0000-C000-000000000046")
    SearchScopes : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ SearchScope **SearchScopeRet) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *iCountRetVal) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SearchScopesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SearchScopes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SearchScopes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SearchScopes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SearchScopes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SearchScopes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SearchScopes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SearchScopes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SearchScopes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SearchScopes * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SearchScopes * This,
            /* [in] */ int Index,
            /* [retval][out] */ SearchScope **SearchScopeRet);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SearchScopes * This,
            /* [retval][out] */ int *iCountRetVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SearchScopes * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } SearchScopesVtbl;

    interface SearchScopes
    {
        CONST_VTBL struct SearchScopesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SearchScopes_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SearchScopes_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SearchScopes_get_Item(This,Index,SearchScopeRet)	\
    ( (This)->lpVtbl -> get_Item(This,Index,SearchScopeRet) ) 

#define SearchScopes_get_Count(This,iCountRetVal)	\
    ( (This)->lpVtbl -> get_Count(This,iCountRetVal) ) 

#define SearchScopes_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SearchScopes_INTERFACE_DEFINED__ */


#ifndef __IMsoDiagram_INTERFACE_DEFINED__
#define __IMsoDiagram_INTERFACE_DEFINED__

/* interface IMsoDiagram */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoDiagram;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C036D-0000-0000-C000-000000000046")
    IMsoDiagram : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Nodes( 
            /* [retval][out] */ DiagramNodes **Nodes) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoDiagramType *Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoLayout( 
            /* [retval][out] */ MsoTriState *AutoLayout) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoLayout( 
            /* [in] */ MsoTriState AutoLayout) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Reverse( 
            /* [retval][out] */ MsoTriState *Reverse) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Reverse( 
            /* [in] */ MsoTriState Reverse) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoFormat( 
            /* [retval][out] */ MsoTriState *AutoFormat) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoFormat( 
            /* [in] */ MsoTriState AutoFormat) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Convert( 
            /* [in] */ MsoDiagramType Type) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE FitText( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoDiagramVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoDiagram * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoDiagram * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoDiagram * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoDiagram * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoDiagram * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoDiagram * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoDiagram * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoDiagram * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoDiagram * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoDiagram * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Nodes )( 
            IMsoDiagram * This,
            /* [retval][out] */ DiagramNodes **Nodes);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMsoDiagram * This,
            /* [retval][out] */ MsoDiagramType *Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoLayout )( 
            IMsoDiagram * This,
            /* [retval][out] */ MsoTriState *AutoLayout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoLayout )( 
            IMsoDiagram * This,
            /* [in] */ MsoTriState AutoLayout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Reverse )( 
            IMsoDiagram * This,
            /* [retval][out] */ MsoTriState *Reverse);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Reverse )( 
            IMsoDiagram * This,
            /* [in] */ MsoTriState Reverse);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoFormat )( 
            IMsoDiagram * This,
            /* [retval][out] */ MsoTriState *AutoFormat);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoFormat )( 
            IMsoDiagram * This,
            /* [in] */ MsoTriState AutoFormat);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Convert )( 
            IMsoDiagram * This,
            /* [in] */ MsoDiagramType Type);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *FitText )( 
            IMsoDiagram * This);
        
        END_INTERFACE
    } IMsoDiagramVtbl;

    interface IMsoDiagram
    {
        CONST_VTBL struct IMsoDiagramVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IMsoDiagram_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define IMsoDiagram_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define IMsoDiagram_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define IMsoDiagram_get_Nodes(This,Nodes)	\
    ( (This)->lpVtbl -> get_Nodes(This,Nodes) ) 

#define IMsoDiagram_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define IMsoDiagram_get_AutoLayout(This,AutoLayout)	\
    ( (This)->lpVtbl -> get_AutoLayout(This,AutoLayout) ) 

#define IMsoDiagram_put_AutoLayout(This,AutoLayout)	\
    ( (This)->lpVtbl -> put_AutoLayout(This,AutoLayout) ) 

#define IMsoDiagram_get_Reverse(This,Reverse)	\
    ( (This)->lpVtbl -> get_Reverse(This,Reverse) ) 

#define IMsoDiagram_put_Reverse(This,Reverse)	\
    ( (This)->lpVtbl -> put_Reverse(This,Reverse) ) 

#define IMsoDiagram_get_AutoFormat(This,AutoFormat)	\
    ( (This)->lpVtbl -> get_AutoFormat(This,AutoFormat) ) 

#define IMsoDiagram_put_AutoFormat(This,AutoFormat)	\
    ( (This)->lpVtbl -> put_AutoFormat(This,AutoFormat) ) 

#define IMsoDiagram_Convert(This,Type)	\
    ( (This)->lpVtbl -> Convert(This,Type) ) 

#define IMsoDiagram_FitText(This)	\
    ( (This)->lpVtbl -> FitText(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoDiagram_INTERFACE_DEFINED__ */


#ifndef __DiagramNodes_INTERFACE_DEFINED__
#define __DiagramNodes_INTERFACE_DEFINED__

/* interface DiagramNodes */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_DiagramNodes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C036E-0000-0000-C000-000000000046")
    DiagramNodes : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ DiagramNode **ppdn) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SelectAll( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *iDiagramNodes) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct DiagramNodesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            DiagramNodes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            DiagramNodes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            DiagramNodes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            DiagramNodes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            DiagramNodes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            DiagramNodes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DiagramNodes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            DiagramNodes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            DiagramNodes * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            DiagramNodes * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            DiagramNodes * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ DiagramNode **ppdn);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SelectAll )( 
            DiagramNodes * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            DiagramNodes * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            DiagramNodes * This,
            /* [retval][out] */ int *iDiagramNodes);
        
        END_INTERFACE
    } DiagramNodesVtbl;

    interface DiagramNodes
    {
        CONST_VTBL struct DiagramNodesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define DiagramNodes_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define DiagramNodes_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define DiagramNodes_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#define DiagramNodes_Item(This,Index,ppdn)	\
    ( (This)->lpVtbl -> Item(This,Index,ppdn) ) 

#define DiagramNodes_SelectAll(This)	\
    ( (This)->lpVtbl -> SelectAll(This) ) 

#define DiagramNodes_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define DiagramNodes_get_Count(This,iDiagramNodes)	\
    ( (This)->lpVtbl -> get_Count(This,iDiagramNodes) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __DiagramNodes_INTERFACE_DEFINED__ */


#ifndef __DiagramNodeChildren_INTERFACE_DEFINED__
#define __DiagramNodeChildren_INTERFACE_DEFINED__

/* interface DiagramNodeChildren */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_DiagramNodeChildren;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C036F-0000-0000-C000-000000000046")
    DiagramNodeChildren : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ DiagramNode **Node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddNode( 
            /* [defaultvalue][optional][in] */ VARIANT Index,
            /* [defaultvalue][optional][in] */ MsoDiagramNodeType NodeType,
            /* [retval][out] */ DiagramNode **NewNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SelectAll( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *iDiagramNodes) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FirstChild( 
            /* [retval][out] */ DiagramNode **First) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LastChild( 
            /* [retval][out] */ DiagramNode **Last) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct DiagramNodeChildrenVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            DiagramNodeChildren * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            DiagramNodeChildren * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            DiagramNodeChildren * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            DiagramNodeChildren * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            DiagramNodeChildren * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            DiagramNodeChildren * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DiagramNodeChildren * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            DiagramNodeChildren * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            DiagramNodeChildren * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            DiagramNodeChildren * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            DiagramNodeChildren * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ DiagramNode **Node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddNode )( 
            DiagramNodeChildren * This,
            /* [defaultvalue][optional][in] */ VARIANT Index,
            /* [defaultvalue][optional][in] */ MsoDiagramNodeType NodeType,
            /* [retval][out] */ DiagramNode **NewNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SelectAll )( 
            DiagramNodeChildren * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            DiagramNodeChildren * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            DiagramNodeChildren * This,
            /* [retval][out] */ int *iDiagramNodes);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FirstChild )( 
            DiagramNodeChildren * This,
            /* [retval][out] */ DiagramNode **First);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastChild )( 
            DiagramNodeChildren * This,
            /* [retval][out] */ DiagramNode **Last);
        
        END_INTERFACE
    } DiagramNodeChildrenVtbl;

    interface DiagramNodeChildren
    {
        CONST_VTBL struct DiagramNodeChildrenVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define DiagramNodeChildren_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define DiagramNodeChildren_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define DiagramNodeChildren_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#define DiagramNodeChildren_Item(This,Index,Node)	\
    ( (This)->lpVtbl -> Item(This,Index,Node) ) 

#define DiagramNodeChildren_AddNode(This,Index,NodeType,NewNode)	\
    ( (This)->lpVtbl -> AddNode(This,Index,NodeType,NewNode) ) 

#define DiagramNodeChildren_SelectAll(This)	\
    ( (This)->lpVtbl -> SelectAll(This) ) 

#define DiagramNodeChildren_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define DiagramNodeChildren_get_Count(This,iDiagramNodes)	\
    ( (This)->lpVtbl -> get_Count(This,iDiagramNodes) ) 

#define DiagramNodeChildren_get_FirstChild(This,First)	\
    ( (This)->lpVtbl -> get_FirstChild(This,First) ) 

#define DiagramNodeChildren_get_LastChild(This,Last)	\
    ( (This)->lpVtbl -> get_LastChild(This,Last) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __DiagramNodeChildren_INTERFACE_DEFINED__ */


#ifndef __DiagramNode_INTERFACE_DEFINED__
#define __DiagramNode_INTERFACE_DEFINED__

/* interface DiagramNode */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_DiagramNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0370-0000-0000-C000-000000000046")
    DiagramNode : public _IMsoDispObj
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddNode( 
            /* [defaultvalue][optional][in] */ MsoRelativeNodePosition Pos,
            /* [defaultvalue][optional][in] */ MsoDiagramNodeType NodeType,
            /* [retval][out] */ DiagramNode **NewNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE MoveNode( 
            /* [in] */ DiagramNode *TargetNode,
            /* [in] */ MsoRelativeNodePosition Pos) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ReplaceNode( 
            /* [in] */ DiagramNode *TargetNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SwapNode( 
            /* [in] */ DiagramNode *TargetNode,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL SwapChildren = -1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CloneNode( 
            /* [in] */ VARIANT_BOOL CopyChildren,
            /* [in] */ DiagramNode *TargetNode,
            /* [defaultvalue][optional][in] */ MsoRelativeNodePosition Pos,
            /* [retval][out] */ DiagramNode **Node) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE TransferChildren( 
            /* [in] */ DiagramNode *ReceivingNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE NextNode( 
            /* [retval][out] */ DiagramNode **NextNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PrevNode( 
            /* [retval][out] */ DiagramNode **PrevNode) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Children( 
            /* [retval][out] */ DiagramNodeChildren **Children) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Shape( 
            /* [retval][out] */ Shape **Shape) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Root( 
            /* [retval][out] */ DiagramNode **Root) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Diagram( 
            /* [retval][out] */ IMsoDiagram **Diagram) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Layout( 
            /* [retval][out] */ MsoOrgChartLayoutType *Type) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Layout( 
            /* [in] */ MsoOrgChartLayoutType Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextShape( 
            /* [retval][out] */ Shape **Shape) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct DiagramNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            DiagramNode * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            DiagramNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            DiagramNode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            DiagramNode * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            DiagramNode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            DiagramNode * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DiagramNode * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            DiagramNode * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            DiagramNode * This,
            /* [retval][out] */ long *plCreator);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddNode )( 
            DiagramNode * This,
            /* [defaultvalue][optional][in] */ MsoRelativeNodePosition Pos,
            /* [defaultvalue][optional][in] */ MsoDiagramNodeType NodeType,
            /* [retval][out] */ DiagramNode **NewNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            DiagramNode * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *MoveNode )( 
            DiagramNode * This,
            /* [in] */ DiagramNode *TargetNode,
            /* [in] */ MsoRelativeNodePosition Pos);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ReplaceNode )( 
            DiagramNode * This,
            /* [in] */ DiagramNode *TargetNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SwapNode )( 
            DiagramNode * This,
            /* [in] */ DiagramNode *TargetNode,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL SwapChildren);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CloneNode )( 
            DiagramNode * This,
            /* [in] */ VARIANT_BOOL CopyChildren,
            /* [in] */ DiagramNode *TargetNode,
            /* [defaultvalue][optional][in] */ MsoRelativeNodePosition Pos,
            /* [retval][out] */ DiagramNode **Node);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *TransferChildren )( 
            DiagramNode * This,
            /* [in] */ DiagramNode *ReceivingNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *NextNode )( 
            DiagramNode * This,
            /* [retval][out] */ DiagramNode **NextNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PrevNode )( 
            DiagramNode * This,
            /* [retval][out] */ DiagramNode **PrevNode);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            DiagramNode * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Children )( 
            DiagramNode * This,
            /* [retval][out] */ DiagramNodeChildren **Children);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shape )( 
            DiagramNode * This,
            /* [retval][out] */ Shape **Shape);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Root )( 
            DiagramNode * This,
            /* [retval][out] */ DiagramNode **Root);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Diagram )( 
            DiagramNode * This,
            /* [retval][out] */ IMsoDiagram **Diagram);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Layout )( 
            DiagramNode * This,
            /* [retval][out] */ MsoOrgChartLayoutType *Type);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Layout )( 
            DiagramNode * This,
            /* [in] */ MsoOrgChartLayoutType Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextShape )( 
            DiagramNode * This,
            /* [retval][out] */ Shape **Shape);
        
        END_INTERFACE
    } DiagramNodeVtbl;

    interface DiagramNode
    {
        CONST_VTBL struct DiagramNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define DiagramNode_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define DiagramNode_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define DiagramNode_AddNode(This,Pos,NodeType,NewNode)	\
    ( (This)->lpVtbl -> AddNode(This,Pos,NodeType,NewNode) ) 

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

#define DiagramNode_MoveNode(This,TargetNode,Pos)	\
    ( (This)->lpVtbl -> MoveNode(This,TargetNode,Pos) ) 

#define DiagramNode_ReplaceNode(This,TargetNode)	\
    ( (This)->lpVtbl -> ReplaceNode(This,TargetNode) ) 

#define DiagramNode_SwapNode(This,TargetNode,SwapChildren)	\
    ( (This)->lpVtbl -> SwapNode(This,TargetNode,SwapChildren) ) 

#define DiagramNode_CloneNode(This,CopyChildren,TargetNode,Pos,Node)	\
    ( (This)->lpVtbl -> CloneNode(This,CopyChildren,TargetNode,Pos,Node) ) 

#define DiagramNode_TransferChildren(This,ReceivingNode)	\
    ( (This)->lpVtbl -> TransferChildren(This,ReceivingNode) ) 

#define DiagramNode_NextNode(This,NextNode)	\
    ( (This)->lpVtbl -> NextNode(This,NextNode) ) 

#define DiagramNode_PrevNode(This,PrevNode)	\
    ( (This)->lpVtbl -> PrevNode(This,PrevNode) ) 

#define DiagramNode_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define DiagramNode_get_Children(This,Children)	\
    ( (This)->lpVtbl -> get_Children(This,Children) ) 

#define DiagramNode_get_Shape(This,Shape)	\
    ( (This)->lpVtbl -> get_Shape(This,Shape) ) 

#define DiagramNode_get_Root(This,Root)	\
    ( (This)->lpVtbl -> get_Root(This,Root) ) 

#define DiagramNode_get_Diagram(This,Diagram)	\
    ( (This)->lpVtbl -> get_Diagram(This,Diagram) ) 

#define DiagramNode_get_Layout(This,Type)	\
    ( (This)->lpVtbl -> get_Layout(This,Type) ) 

#define DiagramNode_put_Layout(This,Type)	\
    ( (This)->lpVtbl -> put_Layout(This,Type) ) 

#define DiagramNode_get_TextShape(This,Shape)	\
    ( (This)->lpVtbl -> get_TextShape(This,Shape) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __DiagramNode_INTERFACE_DEFINED__ */


#ifndef __CanvasShapes_INTERFACE_DEFINED__
#define __CanvasShapes_INTERFACE_DEFINED__

/* interface CanvasShapes */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_CanvasShapes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0371-0000-0000-C000-000000000046")
    CanvasShapes : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Shape **Item) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddCallout( 
            /* [in] */ MsoCalloutType Type,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Callout) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddConnector( 
            /* [in] */ MsoConnectorType Type,
            /* [in] */ single BeginX,
            /* [in] */ single BeginY,
            /* [in] */ single EndX,
            /* [in] */ single EndY,
            /* [retval][out] */ Shape **Connector) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddCurve( 
            /* [in] */ VARIANT SafeArrayOfPoints,
            /* [retval][out] */ Shape **Curve) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddLabel( 
            /* [in] */ MsoTextOrientation Orientation,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Label) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddLine( 
            /* [in] */ single BeginX,
            /* [in] */ single BeginY,
            /* [in] */ single EndX,
            /* [in] */ single EndY,
            /* [retval][out] */ Shape **Line) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddPicture( 
            /* [in] */ BSTR FileName,
            /* [in] */ MsoTriState LinkToFile,
            /* [in] */ MsoTriState SaveWithDocument,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [retval][out] */ Shape **Picture) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddPolyline( 
            /* [in] */ VARIANT SafeArrayOfPoints,
            /* [retval][out] */ Shape **Polyline) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddShape( 
            /* [in] */ MsoAutoShapeType Type,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Shape) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddTextEffect( 
            /* [in] */ MsoPresetTextEffect PresetTextEffect,
            /* [in] */ BSTR Text,
            /* [in] */ BSTR FontName,
            /* [in] */ single FontSize,
            /* [in] */ MsoTriState FontBold,
            /* [in] */ MsoTriState FontItalic,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [retval][out] */ Shape **TextEffect) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddTextbox( 
            /* [in] */ MsoTextOrientation Orientation,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Textbox) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE BuildFreeform( 
            /* [in] */ MsoEditingType EditingType,
            /* [in] */ single X1,
            /* [in] */ single Y1,
            /* [retval][out] */ FreeformBuilder **FreeformBuilder) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Range( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ ShapeRange **Range) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SelectAll( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Background( 
            /* [retval][out] */ Shape **Background) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CanvasShapesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CanvasShapes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CanvasShapes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CanvasShapes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CanvasShapes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CanvasShapes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CanvasShapes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CanvasShapes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CanvasShapes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CanvasShapes * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CanvasShapes * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            CanvasShapes * This,
            /* [retval][out] */ int *Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            CanvasShapes * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ Shape **Item);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            CanvasShapes * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddCallout )( 
            CanvasShapes * This,
            /* [in] */ MsoCalloutType Type,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Callout);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddConnector )( 
            CanvasShapes * This,
            /* [in] */ MsoConnectorType Type,
            /* [in] */ single BeginX,
            /* [in] */ single BeginY,
            /* [in] */ single EndX,
            /* [in] */ single EndY,
            /* [retval][out] */ Shape **Connector);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddCurve )( 
            CanvasShapes * This,
            /* [in] */ VARIANT SafeArrayOfPoints,
            /* [retval][out] */ Shape **Curve);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddLabel )( 
            CanvasShapes * This,
            /* [in] */ MsoTextOrientation Orientation,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Label);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddLine )( 
            CanvasShapes * This,
            /* [in] */ single BeginX,
            /* [in] */ single BeginY,
            /* [in] */ single EndX,
            /* [in] */ single EndY,
            /* [retval][out] */ Shape **Line);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddPicture )( 
            CanvasShapes * This,
            /* [in] */ BSTR FileName,
            /* [in] */ MsoTriState LinkToFile,
            /* [in] */ MsoTriState SaveWithDocument,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [defaultvalue][optional][in] */ single Width,
            /* [defaultvalue][optional][in] */ single Height,
            /* [retval][out] */ Shape **Picture);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddPolyline )( 
            CanvasShapes * This,
            /* [in] */ VARIANT SafeArrayOfPoints,
            /* [retval][out] */ Shape **Polyline);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddShape )( 
            CanvasShapes * This,
            /* [in] */ MsoAutoShapeType Type,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Shape);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddTextEffect )( 
            CanvasShapes * This,
            /* [in] */ MsoPresetTextEffect PresetTextEffect,
            /* [in] */ BSTR Text,
            /* [in] */ BSTR FontName,
            /* [in] */ single FontSize,
            /* [in] */ MsoTriState FontBold,
            /* [in] */ MsoTriState FontItalic,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [retval][out] */ Shape **TextEffect);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddTextbox )( 
            CanvasShapes * This,
            /* [in] */ MsoTextOrientation Orientation,
            /* [in] */ single Left,
            /* [in] */ single Top,
            /* [in] */ single Width,
            /* [in] */ single Height,
            /* [retval][out] */ Shape **Textbox);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *BuildFreeform )( 
            CanvasShapes * This,
            /* [in] */ MsoEditingType EditingType,
            /* [in] */ single X1,
            /* [in] */ single Y1,
            /* [retval][out] */ FreeformBuilder **FreeformBuilder);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Range )( 
            CanvasShapes * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ ShapeRange **Range);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SelectAll )( 
            CanvasShapes * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Background )( 
            CanvasShapes * This,
            /* [retval][out] */ Shape **Background);
        
        END_INTERFACE
    } CanvasShapesVtbl;

    interface CanvasShapes
    {
        CONST_VTBL struct CanvasShapesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define CanvasShapes_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CanvasShapes_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CanvasShapes_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define CanvasShapes_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define CanvasShapes_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> Item(This,Index,Item) ) 

#define CanvasShapes_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define CanvasShapes_AddCallout(This,Type,Left,Top,Width,Height,Callout)	\
    ( (This)->lpVtbl -> AddCallout(This,Type,Left,Top,Width,Height,Callout) ) 

#define CanvasShapes_AddConnector(This,Type,BeginX,BeginY,EndX,EndY,Connector)	\
    ( (This)->lpVtbl -> AddConnector(This,Type,BeginX,BeginY,EndX,EndY,Connector) ) 

#define CanvasShapes_AddCurve(This,SafeArrayOfPoints,Curve)	\
    ( (This)->lpVtbl -> AddCurve(This,SafeArrayOfPoints,Curve) ) 

#define CanvasShapes_AddLabel(This,Orientation,Left,Top,Width,Height,Label)	\
    ( (This)->lpVtbl -> AddLabel(This,Orientation,Left,Top,Width,Height,Label) ) 

#define CanvasShapes_AddLine(This,BeginX,BeginY,EndX,EndY,Line)	\
    ( (This)->lpVtbl -> AddLine(This,BeginX,BeginY,EndX,EndY,Line) ) 

#define CanvasShapes_AddPicture(This,FileName,LinkToFile,SaveWithDocument,Left,Top,Width,Height,Picture)	\
    ( (This)->lpVtbl -> AddPicture(This,FileName,LinkToFile,SaveWithDocument,Left,Top,Width,Height,Picture) ) 

#define CanvasShapes_AddPolyline(This,SafeArrayOfPoints,Polyline)	\
    ( (This)->lpVtbl -> AddPolyline(This,SafeArrayOfPoints,Polyline) ) 

#define CanvasShapes_AddShape(This,Type,Left,Top,Width,Height,Shape)	\
    ( (This)->lpVtbl -> AddShape(This,Type,Left,Top,Width,Height,Shape) ) 

#define CanvasShapes_AddTextEffect(This,PresetTextEffect,Text,FontName,FontSize,FontBold,FontItalic,Left,Top,TextEffect)	\
    ( (This)->lpVtbl -> AddTextEffect(This,PresetTextEffect,Text,FontName,FontSize,FontBold,FontItalic,Left,Top,TextEffect) ) 

#define CanvasShapes_AddTextbox(This,Orientation,Left,Top,Width,Height,Textbox)	\
    ( (This)->lpVtbl -> AddTextbox(This,Orientation,Left,Top,Width,Height,Textbox) ) 

#define CanvasShapes_BuildFreeform(This,EditingType,X1,Y1,FreeformBuilder)	\
    ( (This)->lpVtbl -> BuildFreeform(This,EditingType,X1,Y1,FreeformBuilder) ) 

#define CanvasShapes_Range(This,Index,Range)	\
    ( (This)->lpVtbl -> Range(This,Index,Range) ) 

#define CanvasShapes_SelectAll(This)	\
    ( (This)->lpVtbl -> SelectAll(This) ) 

#define CanvasShapes_get_Background(This,Background)	\
    ( (This)->lpVtbl -> get_Background(This,Background) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CanvasShapes_INTERFACE_DEFINED__ */


#ifndef __OfficeDataSourceObject_INTERFACE_DEFINED__
#define __OfficeDataSourceObject_INTERFACE_DEFINED__

/* interface OfficeDataSourceObject */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_OfficeDataSourceObject;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1530-0000-0000-C000-000000000046")
    OfficeDataSourceObject : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ConnectString( 
            /* [retval][out] */ BSTR *pbstrConnect) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ConnectString( 
            /* [in] */ BSTR pbstrConnect) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Table( 
            /* [retval][out] */ BSTR *pbstrTable) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Table( 
            /* [in] */ BSTR pbstrTable) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DataSource( 
            /* [retval][out] */ BSTR *pbstrSrc) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DataSource( 
            /* [in] */ BSTR pbstrSrc) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Columns( 
            /* [retval][out] */ IDispatch **ppColumns) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_RowCount( 
            /* [retval][out] */ long *pcRows) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Filters( 
            /* [retval][out] */ IDispatch **ppFilters) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ MsoMoveRow MsoMoveRow,
            /* [defaultvalue][optional][in] */ int RowNbr,
            /* [retval][out] */ int *rval) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [defaultvalue][optional][in] */ BSTR bstrSrc = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ BSTR bstrConnect = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ BSTR bstrTable = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ long fOpenExclusive = 0,
            /* [defaultvalue][optional][in] */ long fNeverPrompt = 1) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetSortOrder( 
            /* [in] */ BSTR SortField1,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL SortAscending1 = -1,
            /* [defaultvalue][optional][in] */ BSTR SortField2 = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ VARIANT_BOOL SortAscending2 = -1,
            /* [defaultvalue][optional][in] */ BSTR SortField3 = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ VARIANT_BOOL SortAscending3 = -1) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ApplyFilter( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct OfficeDataSourceObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            OfficeDataSourceObject * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            OfficeDataSourceObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            OfficeDataSourceObject * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            OfficeDataSourceObject * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            OfficeDataSourceObject * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            OfficeDataSourceObject * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            OfficeDataSourceObject * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectString )( 
            OfficeDataSourceObject * This,
            /* [retval][out] */ BSTR *pbstrConnect);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ConnectString )( 
            OfficeDataSourceObject * This,
            /* [in] */ BSTR pbstrConnect);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Table )( 
            OfficeDataSourceObject * This,
            /* [retval][out] */ BSTR *pbstrTable);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Table )( 
            OfficeDataSourceObject * This,
            /* [in] */ BSTR pbstrTable);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DataSource )( 
            OfficeDataSourceObject * This,
            /* [retval][out] */ BSTR *pbstrSrc);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DataSource )( 
            OfficeDataSourceObject * This,
            /* [in] */ BSTR pbstrSrc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Columns )( 
            OfficeDataSourceObject * This,
            /* [retval][out] */ IDispatch **ppColumns);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RowCount )( 
            OfficeDataSourceObject * This,
            /* [retval][out] */ long *pcRows);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Filters )( 
            OfficeDataSourceObject * This,
            /* [retval][out] */ IDispatch **ppFilters);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            OfficeDataSourceObject * This,
            /* [in] */ MsoMoveRow MsoMoveRow,
            /* [defaultvalue][optional][in] */ int RowNbr,
            /* [retval][out] */ int *rval);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            OfficeDataSourceObject * This,
            /* [defaultvalue][optional][in] */ BSTR bstrSrc,
            /* [defaultvalue][optional][in] */ BSTR bstrConnect,
            /* [defaultvalue][optional][in] */ BSTR bstrTable,
            /* [defaultvalue][optional][in] */ long fOpenExclusive,
            /* [defaultvalue][optional][in] */ long fNeverPrompt);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetSortOrder )( 
            OfficeDataSourceObject * This,
            /* [in] */ BSTR SortField1,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL SortAscending1,
            /* [defaultvalue][optional][in] */ BSTR SortField2,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL SortAscending2,
            /* [defaultvalue][optional][in] */ BSTR SortField3,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL SortAscending3);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ApplyFilter )( 
            OfficeDataSourceObject * This);
        
        END_INTERFACE
    } OfficeDataSourceObjectVtbl;

    interface OfficeDataSourceObject
    {
        CONST_VTBL struct OfficeDataSourceObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define OfficeDataSourceObject_get_ConnectString(This,pbstrConnect)	\
    ( (This)->lpVtbl -> get_ConnectString(This,pbstrConnect) ) 

#define OfficeDataSourceObject_put_ConnectString(This,pbstrConnect)	\
    ( (This)->lpVtbl -> put_ConnectString(This,pbstrConnect) ) 

#define OfficeDataSourceObject_get_Table(This,pbstrTable)	\
    ( (This)->lpVtbl -> get_Table(This,pbstrTable) ) 

#define OfficeDataSourceObject_put_Table(This,pbstrTable)	\
    ( (This)->lpVtbl -> put_Table(This,pbstrTable) ) 

#define OfficeDataSourceObject_get_DataSource(This,pbstrSrc)	\
    ( (This)->lpVtbl -> get_DataSource(This,pbstrSrc) ) 

#define OfficeDataSourceObject_put_DataSource(This,pbstrSrc)	\
    ( (This)->lpVtbl -> put_DataSource(This,pbstrSrc) ) 

#define OfficeDataSourceObject_get_Columns(This,ppColumns)	\
    ( (This)->lpVtbl -> get_Columns(This,ppColumns) ) 

#define OfficeDataSourceObject_get_RowCount(This,pcRows)	\
    ( (This)->lpVtbl -> get_RowCount(This,pcRows) ) 

#define OfficeDataSourceObject_get_Filters(This,ppFilters)	\
    ( (This)->lpVtbl -> get_Filters(This,ppFilters) ) 

#define OfficeDataSourceObject_Move(This,MsoMoveRow,RowNbr,rval)	\
    ( (This)->lpVtbl -> Move(This,MsoMoveRow,RowNbr,rval) ) 

#define OfficeDataSourceObject_Open(This,bstrSrc,bstrConnect,bstrTable,fOpenExclusive,fNeverPrompt)	\
    ( (This)->lpVtbl -> Open(This,bstrSrc,bstrConnect,bstrTable,fOpenExclusive,fNeverPrompt) ) 

#define OfficeDataSourceObject_SetSortOrder(This,SortField1,SortAscending1,SortField2,SortAscending2,SortField3,SortAscending3)	\
    ( (This)->lpVtbl -> SetSortOrder(This,SortField1,SortAscending1,SortField2,SortAscending2,SortField3,SortAscending3) ) 

#define OfficeDataSourceObject_ApplyFilter(This)	\
    ( (This)->lpVtbl -> ApplyFilter(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __OfficeDataSourceObject_INTERFACE_DEFINED__ */


#ifndef __ODSOColumn_INTERFACE_DEFINED__
#define __ODSOColumn_INTERFACE_DEFINED__

/* interface ODSOColumn */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_ODSOColumn;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1531-0000-0000-C000-000000000046")
    ODSOColumn : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ long *plIndex) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ BSTR *pbstrValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ODSOColumnVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ODSOColumn * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ODSOColumn * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ODSOColumn * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ODSOColumn * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ODSOColumn * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ODSOColumn * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ODSOColumn * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ODSOColumn * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ODSOColumn * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            ODSOColumn * This,
            /* [retval][out] */ long *plIndex);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ODSOColumn * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ODSOColumn * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            ODSOColumn * This,
            /* [retval][out] */ BSTR *pbstrValue);
        
        END_INTERFACE
    } ODSOColumnVtbl;

    interface ODSOColumn
    {
        CONST_VTBL struct ODSOColumnVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ODSOColumn_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ODSOColumn_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ODSOColumn_get_Index(This,plIndex)	\
    ( (This)->lpVtbl -> get_Index(This,plIndex) ) 

#define ODSOColumn_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define ODSOColumn_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define ODSOColumn_get_Value(This,pbstrValue)	\
    ( (This)->lpVtbl -> get_Value(This,pbstrValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ODSOColumn_INTERFACE_DEFINED__ */


#ifndef __ODSOColumns_INTERFACE_DEFINED__
#define __ODSOColumns_INTERFACE_DEFINED__

/* interface ODSOColumns */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_ODSOColumns;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1532-0000-0000-C000-000000000046")
    ODSOColumns : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParentOdso) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT varIndex,
            /* [retval][out] */ IDispatch **ppColumn) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ODSOColumnsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ODSOColumns * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ODSOColumns * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ODSOColumns * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ODSOColumns * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ODSOColumns * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ODSOColumns * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ODSOColumns * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ODSOColumns * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ODSOColumns * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ODSOColumns * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ODSOColumns * This,
            /* [retval][out] */ IDispatch **ppParentOdso);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            ODSOColumns * This,
            /* [in] */ VARIANT varIndex,
            /* [retval][out] */ IDispatch **ppColumn);
        
        END_INTERFACE
    } ODSOColumnsVtbl;

    interface ODSOColumns
    {
        CONST_VTBL struct ODSOColumnsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ODSOColumns_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ODSOColumns_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ODSOColumns_get_Count(This,plCount)	\
    ( (This)->lpVtbl -> get_Count(This,plCount) ) 

#define ODSOColumns_get_Parent(This,ppParentOdso)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParentOdso) ) 

#define ODSOColumns_Item(This,varIndex,ppColumn)	\
    ( (This)->lpVtbl -> Item(This,varIndex,ppColumn) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ODSOColumns_INTERFACE_DEFINED__ */


#ifndef __ODSOFilter_INTERFACE_DEFINED__
#define __ODSOFilter_INTERFACE_DEFINED__

/* interface ODSOFilter */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_ODSOFilter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1533-0000-0000-C000-000000000046")
    ODSOFilter : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ long *plIndex) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Column( 
            /* [retval][out] */ BSTR *pbstrCol) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Column( 
            /* [in] */ BSTR pbstrCol) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Comparison( 
            /* [retval][out] */ MsoFilterComparison *pComparison) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Comparison( 
            /* [in] */ MsoFilterComparison pComparison) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CompareTo( 
            /* [retval][out] */ BSTR *pbstrCompareTo) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_CompareTo( 
            /* [in] */ BSTR pbstrCompareTo) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Conjunction( 
            /* [retval][out] */ MsoFilterConjunction *pConjunction) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Conjunction( 
            /* [in] */ MsoFilterConjunction pConjunction) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ODSOFilterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ODSOFilter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ODSOFilter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ODSOFilter * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ODSOFilter * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ODSOFilter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ODSOFilter * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ODSOFilter * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ODSOFilter * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ODSOFilter * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            ODSOFilter * This,
            /* [retval][out] */ long *plIndex);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ODSOFilter * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Column )( 
            ODSOFilter * This,
            /* [retval][out] */ BSTR *pbstrCol);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Column )( 
            ODSOFilter * This,
            /* [in] */ BSTR pbstrCol);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Comparison )( 
            ODSOFilter * This,
            /* [retval][out] */ MsoFilterComparison *pComparison);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Comparison )( 
            ODSOFilter * This,
            /* [in] */ MsoFilterComparison pComparison);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CompareTo )( 
            ODSOFilter * This,
            /* [retval][out] */ BSTR *pbstrCompareTo);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CompareTo )( 
            ODSOFilter * This,
            /* [in] */ BSTR pbstrCompareTo);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Conjunction )( 
            ODSOFilter * This,
            /* [retval][out] */ MsoFilterConjunction *pConjunction);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Conjunction )( 
            ODSOFilter * This,
            /* [in] */ MsoFilterConjunction pConjunction);
        
        END_INTERFACE
    } ODSOFilterVtbl;

    interface ODSOFilter
    {
        CONST_VTBL struct ODSOFilterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ODSOFilter_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ODSOFilter_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ODSOFilter_get_Index(This,plIndex)	\
    ( (This)->lpVtbl -> get_Index(This,plIndex) ) 

#define ODSOFilter_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define ODSOFilter_get_Column(This,pbstrCol)	\
    ( (This)->lpVtbl -> get_Column(This,pbstrCol) ) 

#define ODSOFilter_put_Column(This,pbstrCol)	\
    ( (This)->lpVtbl -> put_Column(This,pbstrCol) ) 

#define ODSOFilter_get_Comparison(This,pComparison)	\
    ( (This)->lpVtbl -> get_Comparison(This,pComparison) ) 

#define ODSOFilter_put_Comparison(This,pComparison)	\
    ( (This)->lpVtbl -> put_Comparison(This,pComparison) ) 

#define ODSOFilter_get_CompareTo(This,pbstrCompareTo)	\
    ( (This)->lpVtbl -> get_CompareTo(This,pbstrCompareTo) ) 

#define ODSOFilter_put_CompareTo(This,pbstrCompareTo)	\
    ( (This)->lpVtbl -> put_CompareTo(This,pbstrCompareTo) ) 

#define ODSOFilter_get_Conjunction(This,pConjunction)	\
    ( (This)->lpVtbl -> get_Conjunction(This,pConjunction) ) 

#define ODSOFilter_put_Conjunction(This,pConjunction)	\
    ( (This)->lpVtbl -> put_Conjunction(This,pConjunction) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ODSOFilter_INTERFACE_DEFINED__ */


#ifndef __ODSOFilters_INTERFACE_DEFINED__
#define __ODSOFilters_INTERFACE_DEFINED__

/* interface ODSOFilters */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_ODSOFilters;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1534-0000-0000-C000-000000000046")
    ODSOFilters : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParentOdso) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ long Index,
            /* [retval][out] */ IDispatch **ppColumn) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Column,
            /* [in] */ MsoFilterComparison Comparison,
            /* [in] */ MsoFilterConjunction Conjunction,
            /* [defaultvalue][optional][in] */ BSTR bstrCompareTo = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ VARIANT_BOOL DeferUpdate = 0) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ long Index,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL DeferUpdate = 0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ODSOFiltersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ODSOFilters * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ODSOFilters * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ODSOFilters * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ODSOFilters * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ODSOFilters * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ODSOFilters * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ODSOFilters * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ODSOFilters * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ODSOFilters * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ODSOFilters * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ODSOFilters * This,
            /* [retval][out] */ IDispatch **ppParentOdso);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            ODSOFilters * This,
            /* [in] */ long Index,
            /* [retval][out] */ IDispatch **ppColumn);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            ODSOFilters * This,
            /* [in] */ BSTR Column,
            /* [in] */ MsoFilterComparison Comparison,
            /* [in] */ MsoFilterConjunction Conjunction,
            /* [defaultvalue][optional][in] */ BSTR bstrCompareTo,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL DeferUpdate);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ODSOFilters * This,
            /* [in] */ long Index,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL DeferUpdate);
        
        END_INTERFACE
    } ODSOFiltersVtbl;

    interface ODSOFilters
    {
        CONST_VTBL struct ODSOFiltersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ODSOFilters_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ODSOFilters_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ODSOFilters_get_Count(This,plCount)	\
    ( (This)->lpVtbl -> get_Count(This,plCount) ) 

#define ODSOFilters_get_Parent(This,ppParentOdso)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParentOdso) ) 

#define ODSOFilters_Item(This,Index,ppColumn)	\
    ( (This)->lpVtbl -> Item(This,Index,ppColumn) ) 

#define ODSOFilters_Add(This,Column,Comparison,Conjunction,bstrCompareTo,DeferUpdate)	\
    ( (This)->lpVtbl -> Add(This,Column,Comparison,Conjunction,bstrCompareTo,DeferUpdate) ) 

#define ODSOFilters_Delete(This,Index,DeferUpdate)	\
    ( (This)->lpVtbl -> Delete(This,Index,DeferUpdate) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ODSOFilters_INTERFACE_DEFINED__ */


#ifndef __NewFile_INTERFACE_DEFINED__
#define __NewFile_INTERFACE_DEFINED__

/* interface NewFile */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_NewFile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0936-0000-0000-C000-000000000046")
    NewFile : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR FileName,
            /* [optional][in] */ VARIANT Section,
            /* [optional][in] */ VARIANT DisplayName,
            /* [optional][in] */ VARIANT Action,
            /* [retval][out] */ VARIANT_BOOL *pvarf) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ BSTR FileName,
            /* [optional][in] */ VARIANT Section,
            /* [optional][in] */ VARIANT DisplayName,
            /* [optional][in] */ VARIANT Action,
            /* [retval][out] */ VARIANT_BOOL *pvarf) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct NewFileVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            NewFile * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            NewFile * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            NewFile * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            NewFile * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            NewFile * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            NewFile * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            NewFile * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            NewFile * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            NewFile * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            NewFile * This,
            /* [in] */ BSTR FileName,
            /* [optional][in] */ VARIANT Section,
            /* [optional][in] */ VARIANT DisplayName,
            /* [optional][in] */ VARIANT Action,
            /* [retval][out] */ VARIANT_BOOL *pvarf);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            NewFile * This,
            /* [in] */ BSTR FileName,
            /* [optional][in] */ VARIANT Section,
            /* [optional][in] */ VARIANT DisplayName,
            /* [optional][in] */ VARIANT Action,
            /* [retval][out] */ VARIANT_BOOL *pvarf);
        
        END_INTERFACE
    } NewFileVtbl;

    interface NewFile
    {
        CONST_VTBL struct NewFileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define NewFile_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define NewFile_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define NewFile_Add(This,FileName,Section,DisplayName,Action,pvarf)	\
    ( (This)->lpVtbl -> Add(This,FileName,Section,DisplayName,Action,pvarf) ) 

#define NewFile_Remove(This,FileName,Section,DisplayName,Action,pvarf)	\
    ( (This)->lpVtbl -> Remove(This,FileName,Section,DisplayName,Action,pvarf) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __NewFile_INTERFACE_DEFINED__ */


#ifndef __WebComponent_INTERFACE_DEFINED__
#define __WebComponent_INTERFACE_DEFINED__

/* interface WebComponent */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_WebComponent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD100-0000-0000-C000-000000000046")
    WebComponent : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Shape( 
            /* [retval][out] */ IDispatch **RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HTML( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_HTML( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ long *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ long RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ long *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ long RetValue) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetPlaceHolderGraphic( 
            /* [in] */ BSTR PlaceHolderGraphic) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Commit( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Revert( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct WebComponentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            WebComponent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            WebComponent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            WebComponent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            WebComponent * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            WebComponent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            WebComponent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            WebComponent * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shape )( 
            WebComponent * This,
            /* [retval][out] */ IDispatch **RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            WebComponent * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            WebComponent * This,
            /* [in] */ BSTR RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HTML )( 
            WebComponent * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HTML )( 
            WebComponent * This,
            /* [in] */ BSTR RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            WebComponent * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            WebComponent * This,
            /* [in] */ BSTR RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            WebComponent * This,
            /* [retval][out] */ long *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            WebComponent * This,
            /* [in] */ long RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            WebComponent * This,
            /* [retval][out] */ long *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            WebComponent * This,
            /* [in] */ long RetValue);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetPlaceHolderGraphic )( 
            WebComponent * This,
            /* [in] */ BSTR PlaceHolderGraphic);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Commit )( 
            WebComponent * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Revert )( 
            WebComponent * This);
        
        END_INTERFACE
    } WebComponentVtbl;

    interface WebComponent
    {
        CONST_VTBL struct WebComponentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define WebComponent_get_Shape(This,RetValue)	\
    ( (This)->lpVtbl -> get_Shape(This,RetValue) ) 

#define WebComponent_get_URL(This,RetValue)	\
    ( (This)->lpVtbl -> get_URL(This,RetValue) ) 

#define WebComponent_put_URL(This,RetValue)	\
    ( (This)->lpVtbl -> put_URL(This,RetValue) ) 

#define WebComponent_get_HTML(This,RetValue)	\
    ( (This)->lpVtbl -> get_HTML(This,RetValue) ) 

#define WebComponent_put_HTML(This,RetValue)	\
    ( (This)->lpVtbl -> put_HTML(This,RetValue) ) 

#define WebComponent_get_Name(This,RetValue)	\
    ( (This)->lpVtbl -> get_Name(This,RetValue) ) 

#define WebComponent_put_Name(This,RetValue)	\
    ( (This)->lpVtbl -> put_Name(This,RetValue) ) 

#define WebComponent_get_Width(This,RetValue)	\
    ( (This)->lpVtbl -> get_Width(This,RetValue) ) 

#define WebComponent_put_Width(This,RetValue)	\
    ( (This)->lpVtbl -> put_Width(This,RetValue) ) 

#define WebComponent_get_Height(This,RetValue)	\
    ( (This)->lpVtbl -> get_Height(This,RetValue) ) 

#define WebComponent_put_Height(This,RetValue)	\
    ( (This)->lpVtbl -> put_Height(This,RetValue) ) 

#define WebComponent_SetPlaceHolderGraphic(This,PlaceHolderGraphic)	\
    ( (This)->lpVtbl -> SetPlaceHolderGraphic(This,PlaceHolderGraphic) ) 

#define WebComponent_Commit(This)	\
    ( (This)->lpVtbl -> Commit(This) ) 

#define WebComponent_Revert(This)	\
    ( (This)->lpVtbl -> Revert(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __WebComponent_INTERFACE_DEFINED__ */


#ifndef __WebComponentWindowExternal_INTERFACE_DEFINED__
#define __WebComponentWindowExternal_INTERFACE_DEFINED__

/* interface WebComponentWindowExternal */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_WebComponentWindowExternal;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD101-0000-0000-C000-000000000046")
    WebComponentWindowExternal : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_InterfaceVersion( 
            /* [retval][out] */ long *RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ApplicationName( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ApplicationVersion( 
            /* [retval][out] */ long *RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **RetValue) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CloseWindow( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_WebComponent( 
            /* [retval][out] */ WebComponent **RetValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct WebComponentWindowExternalVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            WebComponentWindowExternal * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            WebComponentWindowExternal * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            WebComponentWindowExternal * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            WebComponentWindowExternal * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            WebComponentWindowExternal * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            WebComponentWindowExternal * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            WebComponentWindowExternal * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InterfaceVersion )( 
            WebComponentWindowExternal * This,
            /* [retval][out] */ long *RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ApplicationName )( 
            WebComponentWindowExternal * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ApplicationVersion )( 
            WebComponentWindowExternal * This,
            /* [retval][out] */ long *RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            WebComponentWindowExternal * This,
            /* [retval][out] */ IDispatch **RetValue);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CloseWindow )( 
            WebComponentWindowExternal * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WebComponent )( 
            WebComponentWindowExternal * This,
            /* [retval][out] */ WebComponent **RetValue);
        
        END_INTERFACE
    } WebComponentWindowExternalVtbl;

    interface WebComponentWindowExternal
    {
        CONST_VTBL struct WebComponentWindowExternalVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define WebComponentWindowExternal_get_InterfaceVersion(This,RetValue)	\
    ( (This)->lpVtbl -> get_InterfaceVersion(This,RetValue) ) 

#define WebComponentWindowExternal_get_ApplicationName(This,RetValue)	\
    ( (This)->lpVtbl -> get_ApplicationName(This,RetValue) ) 

#define WebComponentWindowExternal_get_ApplicationVersion(This,RetValue)	\
    ( (This)->lpVtbl -> get_ApplicationVersion(This,RetValue) ) 

#define WebComponentWindowExternal_get_Application(This,RetValue)	\
    ( (This)->lpVtbl -> get_Application(This,RetValue) ) 

#define WebComponentWindowExternal_CloseWindow(This)	\
    ( (This)->lpVtbl -> CloseWindow(This) ) 

#define WebComponentWindowExternal_get_WebComponent(This,RetValue)	\
    ( (This)->lpVtbl -> get_WebComponent(This,RetValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __WebComponentWindowExternal_INTERFACE_DEFINED__ */


#ifndef __WebComponentFormat_INTERFACE_DEFINED__
#define __WebComponentFormat_INTERFACE_DEFINED__

/* interface WebComponentFormat */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_WebComponentFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD102-0000-0000-C000-000000000046")
    WebComponentFormat : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HTML( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_HTML( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ long *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ long RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ long *RetValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ long RetValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PreviewGraphic( 
            /* [retval][out] */ BSTR *retval) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PreviewGraphic( 
            /* [in] */ BSTR retval) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE LaunchPropertiesWindow( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct WebComponentFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            WebComponentFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            WebComponentFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            WebComponentFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            WebComponentFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            WebComponentFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            WebComponentFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            WebComponentFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            WebComponentFormat * This,
            /* [retval][out] */ IDispatch **RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            WebComponentFormat * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            WebComponentFormat * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            WebComponentFormat * This,
            /* [in] */ BSTR RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HTML )( 
            WebComponentFormat * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HTML )( 
            WebComponentFormat * This,
            /* [in] */ BSTR RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            WebComponentFormat * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            WebComponentFormat * This,
            /* [in] */ BSTR RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            WebComponentFormat * This,
            /* [retval][out] */ long *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            WebComponentFormat * This,
            /* [in] */ long RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            WebComponentFormat * This,
            /* [retval][out] */ long *RetValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            WebComponentFormat * This,
            /* [in] */ long RetValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PreviewGraphic )( 
            WebComponentFormat * This,
            /* [retval][out] */ BSTR *retval);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PreviewGraphic )( 
            WebComponentFormat * This,
            /* [in] */ BSTR retval);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *LaunchPropertiesWindow )( 
            WebComponentFormat * This);
        
        END_INTERFACE
    } WebComponentFormatVtbl;

    interface WebComponentFormat
    {
        CONST_VTBL struct WebComponentFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define WebComponentFormat_get_Application(This,RetValue)	\
    ( (This)->lpVtbl -> get_Application(This,RetValue) ) 

#define WebComponentFormat_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define WebComponentFormat_get_URL(This,RetValue)	\
    ( (This)->lpVtbl -> get_URL(This,RetValue) ) 

#define WebComponentFormat_put_URL(This,RetValue)	\
    ( (This)->lpVtbl -> put_URL(This,RetValue) ) 

#define WebComponentFormat_get_HTML(This,RetValue)	\
    ( (This)->lpVtbl -> get_HTML(This,RetValue) ) 

#define WebComponentFormat_put_HTML(This,RetValue)	\
    ( (This)->lpVtbl -> put_HTML(This,RetValue) ) 

#define WebComponentFormat_get_Name(This,RetValue)	\
    ( (This)->lpVtbl -> get_Name(This,RetValue) ) 

#define WebComponentFormat_put_Name(This,RetValue)	\
    ( (This)->lpVtbl -> put_Name(This,RetValue) ) 

#define WebComponentFormat_get_Width(This,RetValue)	\
    ( (This)->lpVtbl -> get_Width(This,RetValue) ) 

#define WebComponentFormat_put_Width(This,RetValue)	\
    ( (This)->lpVtbl -> put_Width(This,RetValue) ) 

#define WebComponentFormat_get_Height(This,RetValue)	\
    ( (This)->lpVtbl -> get_Height(This,RetValue) ) 

#define WebComponentFormat_put_Height(This,RetValue)	\
    ( (This)->lpVtbl -> put_Height(This,RetValue) ) 

#define WebComponentFormat_get_PreviewGraphic(This,retval)	\
    ( (This)->lpVtbl -> get_PreviewGraphic(This,retval) ) 

#define WebComponentFormat_put_PreviewGraphic(This,retval)	\
    ( (This)->lpVtbl -> put_PreviewGraphic(This,retval) ) 

#define WebComponentFormat_LaunchPropertiesWindow(This)	\
    ( (This)->lpVtbl -> LaunchPropertiesWindow(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __WebComponentFormat_INTERFACE_DEFINED__ */


#ifndef __ILicWizExternal_INTERFACE_DEFINED__
#define __ILicWizExternal_INTERFACE_DEFINED__

/* interface ILicWizExternal */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ILicWizExternal;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4CAC6328-B9B0-11D3-8D59-0050048384E3")
    ILicWizExternal : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PrintHtmlDocument( 
            /* [in] */ IUnknown *punkHtmlDoc) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE InvokeDateTimeApplet( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE FormatDate( 
            /* [in] */ DATE date,
            /* [defaultvalue][optional][in] */ BSTR pFormat,
            /* [retval][out] */ BSTR *pDateString) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ShowHelp( 
            /* [optional][in] */ VARIANT *pvarId) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Terminate( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DisableVORWReminder( 
            /* [in] */ long BPC) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SaveReceipt( 
            /* [in] */ BSTR bstrReceipt,
            /* [retval][out] */ BSTR *pbstrPath) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OpenInDefaultBrowser( 
            /* [in] */ BSTR bstrUrl) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE MsoAlert( 
            /* [in] */ BSTR bstrText,
            /* [in] */ BSTR bstrButtons,
            /* [in] */ BSTR bstrIcon,
            /* [retval][out] */ long *plRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DepositPidKey( 
            /* [in] */ BSTR bstrKey,
            /* [in] */ int fMORW,
            /* [retval][out] */ long *plRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE WriteLog( 
            /* [in] */ BSTR bstrMessage) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ResignDpc( 
            /* [in] */ BSTR bstrProductCode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ResetPID( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetDialogSize( 
            /* [in] */ long dx,
            /* [in] */ long dy) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE VerifyClock( 
            /* [in] */ long lMode,
            /* [retval][out] */ long *plRet) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SortSelectOptions( 
            /* [in] */ IDispatch *pdispSelect) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE InternetDisconnect( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetConnectedState( 
            /* [retval][out] */ int *pfConnected) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Context( 
            /* [retval][out] */ long *plwctx) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Validator( 
            /* [retval][out] */ IDispatch **ppdispValidator) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LicAgent( 
            /* [retval][out] */ IDispatch **ppdispLicAgent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CountryInfo( 
            /* [retval][out] */ BSTR *pbstrUrl) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WizardVisible( 
            /* [in] */ int rhs) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WizardTitle( 
            /* [in] */ BSTR rhs) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AnimationEnabled( 
            /* [retval][out] */ int *fEnabled) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CurrentHelpId( 
            /* [in] */ long rhs) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_OfficeOnTheWebUrl( 
            /* [retval][out] */ BSTR *bstrUrl) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILicWizExternalVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ILicWizExternal * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ILicWizExternal * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ILicWizExternal * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ILicWizExternal * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ILicWizExternal * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ILicWizExternal * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ILicWizExternal * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PrintHtmlDocument )( 
            ILicWizExternal * This,
            /* [in] */ IUnknown *punkHtmlDoc);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *InvokeDateTimeApplet )( 
            ILicWizExternal * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *FormatDate )( 
            ILicWizExternal * This,
            /* [in] */ DATE date,
            /* [defaultvalue][optional][in] */ BSTR pFormat,
            /* [retval][out] */ BSTR *pDateString);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ShowHelp )( 
            ILicWizExternal * This,
            /* [optional][in] */ VARIANT *pvarId);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Terminate )( 
            ILicWizExternal * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DisableVORWReminder )( 
            ILicWizExternal * This,
            /* [in] */ long BPC);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SaveReceipt )( 
            ILicWizExternal * This,
            /* [in] */ BSTR bstrReceipt,
            /* [retval][out] */ BSTR *pbstrPath);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OpenInDefaultBrowser )( 
            ILicWizExternal * This,
            /* [in] */ BSTR bstrUrl);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *MsoAlert )( 
            ILicWizExternal * This,
            /* [in] */ BSTR bstrText,
            /* [in] */ BSTR bstrButtons,
            /* [in] */ BSTR bstrIcon,
            /* [retval][out] */ long *plRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DepositPidKey )( 
            ILicWizExternal * This,
            /* [in] */ BSTR bstrKey,
            /* [in] */ int fMORW,
            /* [retval][out] */ long *plRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *WriteLog )( 
            ILicWizExternal * This,
            /* [in] */ BSTR bstrMessage);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ResignDpc )( 
            ILicWizExternal * This,
            /* [in] */ BSTR bstrProductCode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ResetPID )( 
            ILicWizExternal * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetDialogSize )( 
            ILicWizExternal * This,
            /* [in] */ long dx,
            /* [in] */ long dy);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *VerifyClock )( 
            ILicWizExternal * This,
            /* [in] */ long lMode,
            /* [retval][out] */ long *plRet);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SortSelectOptions )( 
            ILicWizExternal * This,
            /* [in] */ IDispatch *pdispSelect);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *InternetDisconnect )( 
            ILicWizExternal * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetConnectedState )( 
            ILicWizExternal * This,
            /* [retval][out] */ int *pfConnected);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Context )( 
            ILicWizExternal * This,
            /* [retval][out] */ long *plwctx);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Validator )( 
            ILicWizExternal * This,
            /* [retval][out] */ IDispatch **ppdispValidator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LicAgent )( 
            ILicWizExternal * This,
            /* [retval][out] */ IDispatch **ppdispLicAgent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CountryInfo )( 
            ILicWizExternal * This,
            /* [retval][out] */ BSTR *pbstrUrl);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WizardVisible )( 
            ILicWizExternal * This,
            /* [in] */ int rhs);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WizardTitle )( 
            ILicWizExternal * This,
            /* [in] */ BSTR rhs);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AnimationEnabled )( 
            ILicWizExternal * This,
            /* [retval][out] */ int *fEnabled);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentHelpId )( 
            ILicWizExternal * This,
            /* [in] */ long rhs);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OfficeOnTheWebUrl )( 
            ILicWizExternal * This,
            /* [retval][out] */ BSTR *bstrUrl);
        
        END_INTERFACE
    } ILicWizExternalVtbl;

    interface ILicWizExternal
    {
        CONST_VTBL struct ILicWizExternalVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ILicWizExternal_PrintHtmlDocument(This,punkHtmlDoc)	\
    ( (This)->lpVtbl -> PrintHtmlDocument(This,punkHtmlDoc) ) 

#define ILicWizExternal_InvokeDateTimeApplet(This)	\
    ( (This)->lpVtbl -> InvokeDateTimeApplet(This) ) 

#define ILicWizExternal_FormatDate(This,date,pFormat,pDateString)	\
    ( (This)->lpVtbl -> FormatDate(This,date,pFormat,pDateString) ) 

#define ILicWizExternal_ShowHelp(This,pvarId)	\
    ( (This)->lpVtbl -> ShowHelp(This,pvarId) ) 

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

#define ILicWizExternal_DisableVORWReminder(This,BPC)	\
    ( (This)->lpVtbl -> DisableVORWReminder(This,BPC) ) 

#define ILicWizExternal_SaveReceipt(This,bstrReceipt,pbstrPath)	\
    ( (This)->lpVtbl -> SaveReceipt(This,bstrReceipt,pbstrPath) ) 

#define ILicWizExternal_OpenInDefaultBrowser(This,bstrUrl)	\
    ( (This)->lpVtbl -> OpenInDefaultBrowser(This,bstrUrl) ) 

#define ILicWizExternal_MsoAlert(This,bstrText,bstrButtons,bstrIcon,plRet)	\
    ( (This)->lpVtbl -> MsoAlert(This,bstrText,bstrButtons,bstrIcon,plRet) ) 

#define ILicWizExternal_DepositPidKey(This,bstrKey,fMORW,plRet)	\
    ( (This)->lpVtbl -> DepositPidKey(This,bstrKey,fMORW,plRet) ) 

#define ILicWizExternal_WriteLog(This,bstrMessage)	\
    ( (This)->lpVtbl -> WriteLog(This,bstrMessage) ) 

#define ILicWizExternal_ResignDpc(This,bstrProductCode)	\
    ( (This)->lpVtbl -> ResignDpc(This,bstrProductCode) ) 

#define ILicWizExternal_ResetPID(This)	\
    ( (This)->lpVtbl -> ResetPID(This) ) 

#define ILicWizExternal_SetDialogSize(This,dx,dy)	\
    ( (This)->lpVtbl -> SetDialogSize(This,dx,dy) ) 

#define ILicWizExternal_VerifyClock(This,lMode,plRet)	\
    ( (This)->lpVtbl -> VerifyClock(This,lMode,plRet) ) 

#define ILicWizExternal_SortSelectOptions(This,pdispSelect)	\
    ( (This)->lpVtbl -> SortSelectOptions(This,pdispSelect) ) 

#define ILicWizExternal_InternetDisconnect(This)	\
    ( (This)->lpVtbl -> InternetDisconnect(This) ) 

#define ILicWizExternal_GetConnectedState(This,pfConnected)	\
    ( (This)->lpVtbl -> GetConnectedState(This,pfConnected) ) 

#define ILicWizExternal_get_Context(This,plwctx)	\
    ( (This)->lpVtbl -> get_Context(This,plwctx) ) 

#define ILicWizExternal_get_Validator(This,ppdispValidator)	\
    ( (This)->lpVtbl -> get_Validator(This,ppdispValidator) ) 

#define ILicWizExternal_get_LicAgent(This,ppdispLicAgent)	\
    ( (This)->lpVtbl -> get_LicAgent(This,ppdispLicAgent) ) 

#define ILicWizExternal_get_CountryInfo(This,pbstrUrl)	\
    ( (This)->lpVtbl -> get_CountryInfo(This,pbstrUrl) ) 

#define ILicWizExternal_put_WizardVisible(This,rhs)	\
    ( (This)->lpVtbl -> put_WizardVisible(This,rhs) ) 

#define ILicWizExternal_put_WizardTitle(This,rhs)	\
    ( (This)->lpVtbl -> put_WizardTitle(This,rhs) ) 

#define ILicWizExternal_get_AnimationEnabled(This,fEnabled)	\
    ( (This)->lpVtbl -> get_AnimationEnabled(This,fEnabled) ) 

#define ILicWizExternal_put_CurrentHelpId(This,rhs)	\
    ( (This)->lpVtbl -> put_CurrentHelpId(This,rhs) ) 

#define ILicWizExternal_get_OfficeOnTheWebUrl(This,bstrUrl)	\
    ( (This)->lpVtbl -> get_OfficeOnTheWebUrl(This,bstrUrl) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ILicWizExternal_INTERFACE_DEFINED__ */


#ifndef __ILicValidator_INTERFACE_DEFINED__
#define __ILicValidator_INTERFACE_DEFINED__

/* interface ILicValidator */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ILicValidator;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7FFFFFFF-B9AD-11D3-8D59-0050048384E3")
    ILicValidator : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Products( 
            /* [retval][out] */ VARIANT *pVariant) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Selection( 
            /* [retval][out] */ int *piSel) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Selection( 
            /* [in] */ int piSel) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILicValidatorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ILicValidator * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ILicValidator * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ILicValidator * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ILicValidator * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ILicValidator * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ILicValidator * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ILicValidator * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Products )( 
            ILicValidator * This,
            /* [retval][out] */ VARIANT *pVariant);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Selection )( 
            ILicValidator * This,
            /* [retval][out] */ int *piSel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Selection )( 
            ILicValidator * This,
            /* [in] */ int piSel);
        
        END_INTERFACE
    } ILicValidatorVtbl;

    interface ILicValidator
    {
        CONST_VTBL struct ILicValidatorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ILicValidator_get_Products(This,pVariant)	\
    ( (This)->lpVtbl -> get_Products(This,pVariant) ) 

#define ILicValidator_get_Selection(This,piSel)	\
    ( (This)->lpVtbl -> get_Selection(This,piSel) ) 

#define ILicValidator_put_Selection(This,piSel)	\
    ( (This)->lpVtbl -> put_Selection(This,piSel) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ILicValidator_INTERFACE_DEFINED__ */


#ifndef __ILicAgent_INTERFACE_DEFINED__
#define __ILicAgent_INTERFACE_DEFINED__

/* interface ILicAgent */
/* [object][oleautomation][nonextensible][dual][hidden][helpstring][uuid] */ 


extern "C++" const IID IID_ILicAgent;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("00194002-D9C3-11D3-8D59-0050048384E3")
    ILicAgent : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ unsigned long dwBPC,
            /* [in] */ unsigned long dwMode,
            /* [in] */ BSTR bstrLicSource,
            /* [retval][out] */ unsigned long *pdwRetCode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetFirstName( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetFirstName( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetLastName( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLastName( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetOrgName( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetOrgName( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetEmail( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetEmail( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPhone( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPhone( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAddress1( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetAddress1( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCity( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCity( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetState( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetState( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCountryCode( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCountryCode( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCountryDesc( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCountryDesc( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetZip( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetZip( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetIsoLanguage( 
            /* [retval][out] */ unsigned long *pdwVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetIsoLanguage( 
            /* [in] */ unsigned long dwNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMSUpdate( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetMSUpdate( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetMSOffer( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetMSOffer( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetOtherOffer( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetOtherOffer( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAddress2( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetAddress2( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CheckSystemClock( 
            /* [retval][out] */ unsigned long *pdwRetCode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetExistingExpiryDate( 
            /* [retval][out] */ DATE *pDateVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNewExpiryDate( 
            /* [retval][out] */ DATE *pDateVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBillingFirstName( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBillingFirstName( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBillingLastName( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBillingLastName( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBillingPhone( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBillingPhone( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBillingAddress1( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBillingAddress1( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBillingAddress2( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBillingAddress2( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBillingCity( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBillingCity( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBillingState( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBillingState( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBillingCountryCode( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBillingCountryCode( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBillingZip( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetBillingZip( 
            /* [in] */ BSTR bstrNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveBillingInfo( 
            /* [in] */ int bSave,
            /* [retval][out] */ unsigned long *pdwRetVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsCCRenewalCountry( 
            /* [in] */ BSTR bstrCountryCode,
            /* [retval][out] */ int *pbRetVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetVATLabel( 
            /* [in] */ BSTR bstrCountryCode,
            /* [retval][out] */ BSTR *pbstrVATLabel) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCCRenewalExpiryDate( 
            /* [retval][out] */ DATE *pDateVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetVATNumber( 
            /* [in] */ BSTR bstrVATNumber) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCreditCardType( 
            /* [in] */ BSTR bstrCCCode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCreditCardNumber( 
            /* [in] */ BSTR bstrCCNumber) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCreditCardExpiryYear( 
            /* [in] */ unsigned long dwCCYear) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCreditCardExpiryMonth( 
            /* [in] */ unsigned long dwCCMonth) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCreditCardCount( 
            /* [retval][out] */ unsigned long *pdwCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCreditCardCode( 
            /* [in] */ unsigned long dwIndex,
            /* [retval][out] */ BSTR *pbstrCode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCreditCardName( 
            /* [in] */ unsigned long dwIndex,
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetVATNumber( 
            /* [retval][out] */ BSTR *pbstrVATNumber) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCreditCardType( 
            /* [retval][out] */ BSTR *pbstrCCCode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCreditCardNumber( 
            /* [retval][out] */ BSTR *pbstrCCNumber) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCreditCardExpiryYear( 
            /* [retval][out] */ unsigned long *pdwCCYear) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCreditCardExpiryMonth( 
            /* [retval][out] */ unsigned long *pdwCCMonth) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDisconnectOption( 
            /* [retval][out] */ int *pbRetVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetDisconnectOption( 
            /* [in] */ int bNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AsyncProcessHandshakeRequest( 
            /* [in] */ int bReviseCustInfo) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AsyncProcessNewLicenseRequest( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AsyncProcessReissueLicenseRequest( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AsyncProcessRetailRenewalLicenseRequest( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AsyncProcessReviseCustInfoRequest( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AsyncProcessCCRenewalPriceRequest( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AsyncProcessCCRenewalLicenseRequest( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAsyncProcessReturnCode( 
            /* [retval][out] */ unsigned long *pdwRetCode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsUpgradeAvailable( 
            /* [retval][out] */ int *pbUpgradeAvailable) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE WantUpgrade( 
            /* [in] */ int bWantUpgrade) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AsyncProcessDroppedLicenseRequest( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GenerateInstallationId( 
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DepositConfirmationId( 
            /* [in] */ BSTR bstrVal,
            /* [retval][out] */ unsigned long *pdwRetCode) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE VerifyCheckDigits( 
            /* [in] */ BSTR bstrCIDIID,
            /* [retval][out] */ int *pbValue) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCurrentExpiryDate( 
            /* [retval][out] */ DATE *pDateVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CancelAsyncProcessRequest( 
            /* [in] */ int bIsLicenseRequest) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCurrencyDescription( 
            /* [in] */ unsigned long dwCurrencyIndex,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPriceItemCount( 
            /* [retval][out] */ unsigned long *pdwCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPriceItemLabel( 
            /* [in] */ unsigned long dwIndex,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPriceItemValue( 
            /* [in] */ unsigned long dwCurrencyIndex,
            /* [in] */ unsigned long dwIndex,
            /* [retval][out] */ BSTR *pbstrVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetInvoiceText( 
            /* [retval][out] */ BSTR *pNewVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetBackendErrorMsg( 
            /* [retval][out] */ BSTR *pbstrErrMsg) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCurrencyOption( 
            /* [retval][out] */ unsigned long *dwCurrencyOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCurrencyOption( 
            /* [in] */ unsigned long dwCurrencyOption) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetEndOfLifeHtmlText( 
            /* [retval][out] */ BSTR *pbstrHtmlText) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DisplaySSLCert( 
            /* [retval][out] */ unsigned long *dwRetCode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ILicAgentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ILicAgent * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ILicAgent * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ILicAgent * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ILicAgent * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ILicAgent * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ILicAgent * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ILicAgent * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            ILicAgent * This,
            /* [in] */ unsigned long dwBPC,
            /* [in] */ unsigned long dwMode,
            /* [in] */ BSTR bstrLicSource,
            /* [retval][out] */ unsigned long *pdwRetCode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetFirstName )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetFirstName )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetLastName )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLastName )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetOrgName )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetOrgName )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetEmail )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetEmail )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPhone )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetPhone )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAddress1 )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetAddress1 )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCity )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCity )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetState )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetState )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCountryCode )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCountryCode )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCountryDesc )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCountryDesc )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetZip )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetZip )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetIsoLanguage )( 
            ILicAgent * This,
            /* [retval][out] */ unsigned long *pdwVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetIsoLanguage )( 
            ILicAgent * This,
            /* [in] */ unsigned long dwNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetMSUpdate )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetMSUpdate )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetMSOffer )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetMSOffer )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetOtherOffer )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetOtherOffer )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAddress2 )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetAddress2 )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CheckSystemClock )( 
            ILicAgent * This,
            /* [retval][out] */ unsigned long *pdwRetCode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetExistingExpiryDate )( 
            ILicAgent * This,
            /* [retval][out] */ DATE *pDateVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetNewExpiryDate )( 
            ILicAgent * This,
            /* [retval][out] */ DATE *pDateVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBillingFirstName )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBillingFirstName )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBillingLastName )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBillingLastName )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBillingPhone )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBillingPhone )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBillingAddress1 )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBillingAddress1 )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBillingAddress2 )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBillingAddress2 )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBillingCity )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBillingCity )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBillingState )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBillingState )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBillingCountryCode )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBillingCountryCode )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBillingZip )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetBillingZip )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SaveBillingInfo )( 
            ILicAgent * This,
            /* [in] */ int bSave,
            /* [retval][out] */ unsigned long *pdwRetVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsCCRenewalCountry )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrCountryCode,
            /* [retval][out] */ int *pbRetVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetVATLabel )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrCountryCode,
            /* [retval][out] */ BSTR *pbstrVATLabel);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCCRenewalExpiryDate )( 
            ILicAgent * This,
            /* [retval][out] */ DATE *pDateVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetVATNumber )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrVATNumber);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCreditCardType )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrCCCode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCreditCardNumber )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrCCNumber);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCreditCardExpiryYear )( 
            ILicAgent * This,
            /* [in] */ unsigned long dwCCYear);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCreditCardExpiryMonth )( 
            ILicAgent * This,
            /* [in] */ unsigned long dwCCMonth);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCreditCardCount )( 
            ILicAgent * This,
            /* [retval][out] */ unsigned long *pdwCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCreditCardCode )( 
            ILicAgent * This,
            /* [in] */ unsigned long dwIndex,
            /* [retval][out] */ BSTR *pbstrCode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCreditCardName )( 
            ILicAgent * This,
            /* [in] */ unsigned long dwIndex,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetVATNumber )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVATNumber);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCreditCardType )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrCCCode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCreditCardNumber )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrCCNumber);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCreditCardExpiryYear )( 
            ILicAgent * This,
            /* [retval][out] */ unsigned long *pdwCCYear);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCreditCardExpiryMonth )( 
            ILicAgent * This,
            /* [retval][out] */ unsigned long *pdwCCMonth);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDisconnectOption )( 
            ILicAgent * This,
            /* [retval][out] */ int *pbRetVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetDisconnectOption )( 
            ILicAgent * This,
            /* [in] */ int bNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AsyncProcessHandshakeRequest )( 
            ILicAgent * This,
            /* [in] */ int bReviseCustInfo);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AsyncProcessNewLicenseRequest )( 
            ILicAgent * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AsyncProcessReissueLicenseRequest )( 
            ILicAgent * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AsyncProcessRetailRenewalLicenseRequest )( 
            ILicAgent * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AsyncProcessReviseCustInfoRequest )( 
            ILicAgent * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AsyncProcessCCRenewalPriceRequest )( 
            ILicAgent * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AsyncProcessCCRenewalLicenseRequest )( 
            ILicAgent * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAsyncProcessReturnCode )( 
            ILicAgent * This,
            /* [retval][out] */ unsigned long *pdwRetCode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsUpgradeAvailable )( 
            ILicAgent * This,
            /* [retval][out] */ int *pbUpgradeAvailable);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *WantUpgrade )( 
            ILicAgent * This,
            /* [in] */ int bWantUpgrade);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AsyncProcessDroppedLicenseRequest )( 
            ILicAgent * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GenerateInstallationId )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DepositConfirmationId )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrVal,
            /* [retval][out] */ unsigned long *pdwRetCode);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *VerifyCheckDigits )( 
            ILicAgent * This,
            /* [in] */ BSTR bstrCIDIID,
            /* [retval][out] */ int *pbValue);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCurrentExpiryDate )( 
            ILicAgent * This,
            /* [retval][out] */ DATE *pDateVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CancelAsyncProcessRequest )( 
            ILicAgent * This,
            /* [in] */ int bIsLicenseRequest);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCurrencyDescription )( 
            ILicAgent * This,
            /* [in] */ unsigned long dwCurrencyIndex,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPriceItemCount )( 
            ILicAgent * This,
            /* [retval][out] */ unsigned long *pdwCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPriceItemLabel )( 
            ILicAgent * This,
            /* [in] */ unsigned long dwIndex,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPriceItemValue )( 
            ILicAgent * This,
            /* [in] */ unsigned long dwCurrencyIndex,
            /* [in] */ unsigned long dwIndex,
            /* [retval][out] */ BSTR *pbstrVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetInvoiceText )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pNewVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetBackendErrorMsg )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrErrMsg);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCurrencyOption )( 
            ILicAgent * This,
            /* [retval][out] */ unsigned long *dwCurrencyOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCurrencyOption )( 
            ILicAgent * This,
            /* [in] */ unsigned long dwCurrencyOption);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetEndOfLifeHtmlText )( 
            ILicAgent * This,
            /* [retval][out] */ BSTR *pbstrHtmlText);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DisplaySSLCert )( 
            ILicAgent * This,
            /* [retval][out] */ unsigned long *dwRetCode);
        
        END_INTERFACE
    } ILicAgentVtbl;

    interface ILicAgent
    {
        CONST_VTBL struct ILicAgentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ILicAgent_Initialize(This,dwBPC,dwMode,bstrLicSource,pdwRetCode)	\
    ( (This)->lpVtbl -> Initialize(This,dwBPC,dwMode,bstrLicSource,pdwRetCode) ) 

#define ILicAgent_GetFirstName(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetFirstName(This,pbstrVal) ) 

#define ILicAgent_SetFirstName(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetFirstName(This,bstrNewVal) ) 

#define ILicAgent_GetLastName(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetLastName(This,pbstrVal) ) 

#define ILicAgent_SetLastName(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetLastName(This,bstrNewVal) ) 

#define ILicAgent_GetOrgName(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetOrgName(This,pbstrVal) ) 

#define ILicAgent_SetOrgName(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetOrgName(This,bstrNewVal) ) 

#define ILicAgent_GetEmail(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetEmail(This,pbstrVal) ) 

#define ILicAgent_SetEmail(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetEmail(This,bstrNewVal) ) 

#define ILicAgent_GetPhone(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetPhone(This,pbstrVal) ) 

#define ILicAgent_SetPhone(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetPhone(This,bstrNewVal) ) 

#define ILicAgent_GetAddress1(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetAddress1(This,pbstrVal) ) 

#define ILicAgent_SetAddress1(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetAddress1(This,bstrNewVal) ) 

#define ILicAgent_GetCity(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetCity(This,pbstrVal) ) 

#define ILicAgent_SetCity(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetCity(This,bstrNewVal) ) 

#define ILicAgent_GetState(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetState(This,pbstrVal) ) 

#define ILicAgent_SetState(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetState(This,bstrNewVal) ) 

#define ILicAgent_GetCountryCode(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetCountryCode(This,pbstrVal) ) 

#define ILicAgent_SetCountryCode(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetCountryCode(This,bstrNewVal) ) 

#define ILicAgent_GetCountryDesc(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetCountryDesc(This,pbstrVal) ) 

#define ILicAgent_SetCountryDesc(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetCountryDesc(This,bstrNewVal) ) 

#define ILicAgent_GetZip(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetZip(This,pbstrVal) ) 

#define ILicAgent_SetZip(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetZip(This,bstrNewVal) ) 

#define ILicAgent_GetIsoLanguage(This,pdwVal)	\
    ( (This)->lpVtbl -> GetIsoLanguage(This,pdwVal) ) 

#define ILicAgent_SetIsoLanguage(This,dwNewVal)	\
    ( (This)->lpVtbl -> SetIsoLanguage(This,dwNewVal) ) 

#define ILicAgent_GetMSUpdate(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetMSUpdate(This,pbstrVal) ) 

#define ILicAgent_SetMSUpdate(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetMSUpdate(This,bstrNewVal) ) 

#define ILicAgent_GetMSOffer(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetMSOffer(This,pbstrVal) ) 

#define ILicAgent_SetMSOffer(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetMSOffer(This,bstrNewVal) ) 

#define ILicAgent_GetOtherOffer(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetOtherOffer(This,pbstrVal) ) 

#define ILicAgent_SetOtherOffer(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetOtherOffer(This,bstrNewVal) ) 

#define ILicAgent_GetAddress2(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetAddress2(This,pbstrVal) ) 

#define ILicAgent_SetAddress2(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetAddress2(This,bstrNewVal) ) 

#define ILicAgent_CheckSystemClock(This,pdwRetCode)	\
    ( (This)->lpVtbl -> CheckSystemClock(This,pdwRetCode) ) 

#define ILicAgent_GetExistingExpiryDate(This,pDateVal)	\
    ( (This)->lpVtbl -> GetExistingExpiryDate(This,pDateVal) ) 

#define ILicAgent_GetNewExpiryDate(This,pDateVal)	\
    ( (This)->lpVtbl -> GetNewExpiryDate(This,pDateVal) ) 

#define ILicAgent_GetBillingFirstName(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetBillingFirstName(This,pbstrVal) ) 

#define ILicAgent_SetBillingFirstName(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetBillingFirstName(This,bstrNewVal) ) 

#define ILicAgent_GetBillingLastName(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetBillingLastName(This,pbstrVal) ) 

#define ILicAgent_SetBillingLastName(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetBillingLastName(This,bstrNewVal) ) 

#define ILicAgent_GetBillingPhone(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetBillingPhone(This,pbstrVal) ) 

#define ILicAgent_SetBillingPhone(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetBillingPhone(This,bstrNewVal) ) 

#define ILicAgent_GetBillingAddress1(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetBillingAddress1(This,pbstrVal) ) 

#define ILicAgent_SetBillingAddress1(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetBillingAddress1(This,bstrNewVal) ) 

#define ILicAgent_GetBillingAddress2(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetBillingAddress2(This,pbstrVal) ) 

#define ILicAgent_SetBillingAddress2(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetBillingAddress2(This,bstrNewVal) ) 

#define ILicAgent_GetBillingCity(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetBillingCity(This,pbstrVal) ) 

#define ILicAgent_SetBillingCity(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetBillingCity(This,bstrNewVal) ) 

#define ILicAgent_GetBillingState(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetBillingState(This,pbstrVal) ) 

#define ILicAgent_SetBillingState(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetBillingState(This,bstrNewVal) ) 

#define ILicAgent_GetBillingCountryCode(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetBillingCountryCode(This,pbstrVal) ) 

#define ILicAgent_SetBillingCountryCode(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetBillingCountryCode(This,bstrNewVal) ) 

#define ILicAgent_GetBillingZip(This,pbstrVal)	\
    ( (This)->lpVtbl -> GetBillingZip(This,pbstrVal) ) 

#define ILicAgent_SetBillingZip(This,bstrNewVal)	\
    ( (This)->lpVtbl -> SetBillingZip(This,bstrNewVal) ) 

#define ILicAgent_SaveBillingInfo(This,bSave,pdwRetVal)	\
    ( (This)->lpVtbl -> SaveBillingInfo(This,bSave,pdwRetVal) ) 

#define ILicAgent_IsCCRenewalCountry(This,bstrCountryCode,pbRetVal)	\
    ( (This)->lpVtbl -> IsCCRenewalCountry(This,bstrCountryCode,pbRetVal) ) 

#define ILicAgent_GetVATLabel(This,bstrCountryCode,pbstrVATLabel)	\
    ( (This)->lpVtbl -> GetVATLabel(This,bstrCountryCode,pbstrVATLabel) ) 

#define ILicAgent_GetCCRenewalExpiryDate(This,pDateVal)	\
    ( (This)->lpVtbl -> GetCCRenewalExpiryDate(This,pDateVal) ) 

#define ILicAgent_SetVATNumber(This,bstrVATNumber)	\
    ( (This)->lpVtbl -> SetVATNumber(This,bstrVATNumber) ) 

#define ILicAgent_SetCreditCardType(This,bstrCCCode)	\
    ( (This)->lpVtbl -> SetCreditCardType(This,bstrCCCode) ) 

#define ILicAgent_SetCreditCardNumber(This,bstrCCNumber)	\
    ( (This)->lpVtbl -> SetCreditCardNumber(This,bstrCCNumber) ) 

#define ILicAgent_SetCreditCardExpiryYear(This,dwCCYear)	\
    ( (This)->lpVtbl -> SetCreditCardExpiryYear(This,dwCCYear) ) 

#define ILicAgent_SetCreditCardExpiryMonth(This,dwCCMonth)	\
    ( (This)->lpVtbl -> SetCreditCardExpiryMonth(This,dwCCMonth) ) 

#define ILicAgent_GetCreditCardCount(This,pdwCount)	\
    ( (This)->lpVtbl -> GetCreditCardCount(This,pdwCount) ) 

#define ILicAgent_GetCreditCardCode(This,dwIndex,pbstrCode)	\
    ( (This)->lpVtbl -> GetCreditCardCode(This,dwIndex,pbstrCode) ) 

#define ILicAgent_GetCreditCardName(This,dwIndex,pbstrName)	\
    ( (This)->lpVtbl -> GetCreditCardName(This,dwIndex,pbstrName) ) 

#define ILicAgent_GetVATNumber(This,pbstrVATNumber)	\
    ( (This)->lpVtbl -> GetVATNumber(This,pbstrVATNumber) ) 

#define ILicAgent_GetCreditCardType(This,pbstrCCCode)	\
    ( (This)->lpVtbl -> GetCreditCardType(This,pbstrCCCode) ) 

#define ILicAgent_GetCreditCardNumber(This,pbstrCCNumber)	\
    ( (This)->lpVtbl -> GetCreditCardNumber(This,pbstrCCNumber) ) 

#define ILicAgent_GetCreditCardExpiryYear(This,pdwCCYear)	\
    ( (This)->lpVtbl -> GetCreditCardExpiryYear(This,pdwCCYear) ) 

#define ILicAgent_GetCreditCardExpiryMonth(This,pdwCCMonth)	\
    ( (This)->lpVtbl -> GetCreditCardExpiryMonth(This,pdwCCMonth) ) 

#define ILicAgent_GetDisconnectOption(This,pbRetVal)	\
    ( (This)->lpVtbl -> GetDisconnectOption(This,pbRetVal) ) 

#define ILicAgent_SetDisconnectOption(This,bNewVal)	\
    ( (This)->lpVtbl -> SetDisconnectOption(This,bNewVal) ) 

#define ILicAgent_AsyncProcessHandshakeRequest(This,bReviseCustInfo)	\
    ( (This)->lpVtbl -> AsyncProcessHandshakeRequest(This,bReviseCustInfo) ) 

#define ILicAgent_AsyncProcessNewLicenseRequest(This)	\
    ( (This)->lpVtbl -> AsyncProcessNewLicenseRequest(This) ) 

#define ILicAgent_AsyncProcessReissueLicenseRequest(This)	\
    ( (This)->lpVtbl -> AsyncProcessReissueLicenseRequest(This) ) 

#define ILicAgent_AsyncProcessRetailRenewalLicenseRequest(This)	\
    ( (This)->lpVtbl -> AsyncProcessRetailRenewalLicenseRequest(This) ) 

#define ILicAgent_AsyncProcessReviseCustInfoRequest(This)	\
    ( (This)->lpVtbl -> AsyncProcessReviseCustInfoRequest(This) ) 

#define ILicAgent_AsyncProcessCCRenewalPriceRequest(This)	\
    ( (This)->lpVtbl -> AsyncProcessCCRenewalPriceRequest(This) ) 

#define ILicAgent_AsyncProcessCCRenewalLicenseRequest(This)	\
    ( (This)->lpVtbl -> AsyncProcessCCRenewalLicenseRequest(This) ) 

#define ILicAgent_GetAsyncProcessReturnCode(This,pdwRetCode)	\
    ( (This)->lpVtbl -> GetAsyncProcessReturnCode(This,pdwRetCode) ) 

#define ILicAgent_IsUpgradeAvailable(This,pbUpgradeAvailable)	\
    ( (This)->lpVtbl -> IsUpgradeAvailable(This,pbUpgradeAvailable) ) 

#define ILicAgent_WantUpgrade(This,bWantUpgrade)	\
    ( (This)->lpVtbl -> WantUpgrade(This,bWantUpgrade) ) 

#define ILicAgent_AsyncProcessDroppedLicenseRequest(This)	\
    ( (This)->lpVtbl -> AsyncProcessDroppedLicenseRequest(This) ) 

#define ILicAgent_GenerateInstallationId(This,pbstrVal)	\
    ( (This)->lpVtbl -> GenerateInstallationId(This,pbstrVal) ) 

#define ILicAgent_DepositConfirmationId(This,bstrVal,pdwRetCode)	\
    ( (This)->lpVtbl -> DepositConfirmationId(This,bstrVal,pdwRetCode) ) 

#define ILicAgent_VerifyCheckDigits(This,bstrCIDIID,pbValue)	\
    ( (This)->lpVtbl -> VerifyCheckDigits(This,bstrCIDIID,pbValue) ) 

#define ILicAgent_GetCurrentExpiryDate(This,pDateVal)	\
    ( (This)->lpVtbl -> GetCurrentExpiryDate(This,pDateVal) ) 

#define ILicAgent_CancelAsyncProcessRequest(This,bIsLicenseRequest)	\
    ( (This)->lpVtbl -> CancelAsyncProcessRequest(This,bIsLicenseRequest) ) 

#define ILicAgent_GetCurrencyDescription(This,dwCurrencyIndex,pbstrVal)	\
    ( (This)->lpVtbl -> GetCurrencyDescription(This,dwCurrencyIndex,pbstrVal) ) 

#define ILicAgent_GetPriceItemCount(This,pdwCount)	\
    ( (This)->lpVtbl -> GetPriceItemCount(This,pdwCount) ) 

#define ILicAgent_GetPriceItemLabel(This,dwIndex,pbstrVal)	\
    ( (This)->lpVtbl -> GetPriceItemLabel(This,dwIndex,pbstrVal) ) 

#define ILicAgent_GetPriceItemValue(This,dwCurrencyIndex,dwIndex,pbstrVal)	\
    ( (This)->lpVtbl -> GetPriceItemValue(This,dwCurrencyIndex,dwIndex,pbstrVal) ) 

#define ILicAgent_GetInvoiceText(This,pNewVal)	\
    ( (This)->lpVtbl -> GetInvoiceText(This,pNewVal) ) 

#define ILicAgent_GetBackendErrorMsg(This,pbstrErrMsg)	\
    ( (This)->lpVtbl -> GetBackendErrorMsg(This,pbstrErrMsg) ) 

#define ILicAgent_GetCurrencyOption(This,dwCurrencyOption)	\
    ( (This)->lpVtbl -> GetCurrencyOption(This,dwCurrencyOption) ) 

#define ILicAgent_SetCurrencyOption(This,dwCurrencyOption)	\
    ( (This)->lpVtbl -> SetCurrencyOption(This,dwCurrencyOption) ) 

#define ILicAgent_GetEndOfLifeHtmlText(This,pbstrHtmlText)	\
    ( (This)->lpVtbl -> GetEndOfLifeHtmlText(This,pbstrHtmlText) ) 

#define ILicAgent_DisplaySSLCert(This,dwRetCode)	\
    ( (This)->lpVtbl -> DisplaySSLCert(This,dwRetCode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ILicAgent_INTERFACE_DEFINED__ */


#ifndef __IMsoEServicesDialog_INTERFACE_DEFINED__
#define __IMsoEServicesDialog_INTERFACE_DEFINED__

/* interface IMsoEServicesDialog */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoEServicesDialog;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0372-0000-0000-C000-000000000046")
    IMsoEServicesDialog : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Close( 
            /* [defaultvalue][optional][in] */ VARIANT_BOOL ApplyWebComponentChanges = 0) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddTrustedDomain( 
            /* [in] */ BSTR Domain) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ApplicationName( 
            /* [retval][out] */ BSTR *retval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppdisp) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WebComponent( 
            /* [retval][out] */ IDispatch **ppdisp) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ClipArt( 
            /* [retval][out] */ IDispatch **ppdisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoEServicesDialogVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoEServicesDialog * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoEServicesDialog * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoEServicesDialog * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoEServicesDialog * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoEServicesDialog * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoEServicesDialog * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoEServicesDialog * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IMsoEServicesDialog * This,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL ApplyWebComponentChanges);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddTrustedDomain )( 
            IMsoEServicesDialog * This,
            /* [in] */ BSTR Domain);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ApplicationName )( 
            IMsoEServicesDialog * This,
            /* [retval][out] */ BSTR *retval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoEServicesDialog * This,
            /* [retval][out] */ IDispatch **ppdisp);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WebComponent )( 
            IMsoEServicesDialog * This,
            /* [retval][out] */ IDispatch **ppdisp);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ClipArt )( 
            IMsoEServicesDialog * This,
            /* [retval][out] */ IDispatch **ppdisp);
        
        END_INTERFACE
    } IMsoEServicesDialogVtbl;

    interface IMsoEServicesDialog
    {
        CONST_VTBL struct IMsoEServicesDialogVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IMsoEServicesDialog_Close(This,ApplyWebComponentChanges)	\
    ( (This)->lpVtbl -> Close(This,ApplyWebComponentChanges) ) 

#define IMsoEServicesDialog_AddTrustedDomain(This,Domain)	\
    ( (This)->lpVtbl -> AddTrustedDomain(This,Domain) ) 

#define IMsoEServicesDialog_get_ApplicationName(This,retval)	\
    ( (This)->lpVtbl -> get_ApplicationName(This,retval) ) 

#define IMsoEServicesDialog_get_Application(This,ppdisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppdisp) ) 

#define IMsoEServicesDialog_get_WebComponent(This,ppdisp)	\
    ( (This)->lpVtbl -> get_WebComponent(This,ppdisp) ) 

#define IMsoEServicesDialog_get_ClipArt(This,ppdisp)	\
    ( (This)->lpVtbl -> get_ClipArt(This,ppdisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoEServicesDialog_INTERFACE_DEFINED__ */


#ifndef __WebComponentProperties_INTERFACE_DEFINED__
#define __WebComponentProperties_INTERFACE_DEFINED__

/* interface WebComponentProperties */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_WebComponentProperties;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0373-0000-0000-C000-000000000046")
    WebComponentProperties : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Shape( 
            /* [retval][out] */ IDispatch **RetValue) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HTML( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HTML( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PreviewGraphic( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PreviewGraphic( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PreviewHTML( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PreviewHTML( 
            /* [in] */ BSTR RetValue) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ long *RetValue) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ long RetValue) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ long *RetValue) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ long RetValue) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Tag( 
            /* [retval][out] */ BSTR *RetValue) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Tag( 
            /* [in] */ BSTR RetValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct WebComponentPropertiesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            WebComponentProperties * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            WebComponentProperties * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            WebComponentProperties * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            WebComponentProperties * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            WebComponentProperties * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            WebComponentProperties * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            WebComponentProperties * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shape )( 
            WebComponentProperties * This,
            /* [retval][out] */ IDispatch **RetValue);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            WebComponentProperties * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            WebComponentProperties * This,
            /* [in] */ BSTR RetValue);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            WebComponentProperties * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            WebComponentProperties * This,
            /* [in] */ BSTR RetValue);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HTML )( 
            WebComponentProperties * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HTML )( 
            WebComponentProperties * This,
            /* [in] */ BSTR RetValue);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PreviewGraphic )( 
            WebComponentProperties * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PreviewGraphic )( 
            WebComponentProperties * This,
            /* [in] */ BSTR RetValue);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PreviewHTML )( 
            WebComponentProperties * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PreviewHTML )( 
            WebComponentProperties * This,
            /* [in] */ BSTR RetValue);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            WebComponentProperties * This,
            /* [retval][out] */ long *RetValue);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            WebComponentProperties * This,
            /* [in] */ long RetValue);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            WebComponentProperties * This,
            /* [retval][out] */ long *RetValue);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            WebComponentProperties * This,
            /* [in] */ long RetValue);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Tag )( 
            WebComponentProperties * This,
            /* [retval][out] */ BSTR *RetValue);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Tag )( 
            WebComponentProperties * This,
            /* [in] */ BSTR RetValue);
        
        END_INTERFACE
    } WebComponentPropertiesVtbl;

    interface WebComponentProperties
    {
        CONST_VTBL struct WebComponentPropertiesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define WebComponentProperties_get_Shape(This,RetValue)	\
    ( (This)->lpVtbl -> get_Shape(This,RetValue) ) 

#define WebComponentProperties_get_Name(This,RetValue)	\
    ( (This)->lpVtbl -> get_Name(This,RetValue) ) 

#define WebComponentProperties_put_Name(This,RetValue)	\
    ( (This)->lpVtbl -> put_Name(This,RetValue) ) 

#define WebComponentProperties_get_URL(This,RetValue)	\
    ( (This)->lpVtbl -> get_URL(This,RetValue) ) 

#define WebComponentProperties_put_URL(This,RetValue)	\
    ( (This)->lpVtbl -> put_URL(This,RetValue) ) 

#define WebComponentProperties_get_HTML(This,RetValue)	\
    ( (This)->lpVtbl -> get_HTML(This,RetValue) ) 

#define WebComponentProperties_put_HTML(This,RetValue)	\
    ( (This)->lpVtbl -> put_HTML(This,RetValue) ) 

#define WebComponentProperties_get_PreviewGraphic(This,RetValue)	\
    ( (This)->lpVtbl -> get_PreviewGraphic(This,RetValue) ) 

#define WebComponentProperties_put_PreviewGraphic(This,RetValue)	\
    ( (This)->lpVtbl -> put_PreviewGraphic(This,RetValue) ) 

#define WebComponentProperties_get_PreviewHTML(This,RetValue)	\
    ( (This)->lpVtbl -> get_PreviewHTML(This,RetValue) ) 

#define WebComponentProperties_put_PreviewHTML(This,RetValue)	\
    ( (This)->lpVtbl -> put_PreviewHTML(This,RetValue) ) 

#define WebComponentProperties_get_Width(This,RetValue)	\
    ( (This)->lpVtbl -> get_Width(This,RetValue) ) 

#define WebComponentProperties_put_Width(This,RetValue)	\
    ( (This)->lpVtbl -> put_Width(This,RetValue) ) 

#define WebComponentProperties_get_Height(This,RetValue)	\
    ( (This)->lpVtbl -> get_Height(This,RetValue) ) 

#define WebComponentProperties_put_Height(This,RetValue)	\
    ( (This)->lpVtbl -> put_Height(This,RetValue) ) 

#define WebComponentProperties_get_Tag(This,RetValue)	\
    ( (This)->lpVtbl -> get_Tag(This,RetValue) ) 

#define WebComponentProperties_put_Tag(This,RetValue)	\
    ( (This)->lpVtbl -> put_Tag(This,RetValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __WebComponentProperties_INTERFACE_DEFINED__ */


#ifndef __SmartDocument_INTERFACE_DEFINED__
#define __SmartDocument_INTERFACE_DEFINED__

/* interface SmartDocument */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SmartDocument;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0377-0000-0000-C000-000000000046")
    SmartDocument : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SolutionID( 
            /* [retval][out] */ BSTR *pbstrID) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SolutionID( 
            /* [in] */ BSTR pbstrID) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SolutionURL( 
            /* [retval][out] */ BSTR *pbstrUrl) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SolutionURL( 
            /* [in] */ BSTR pbstrUrl) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE PickSolution( 
            /* [defaultvalue][optional][in] */ VARIANT_BOOL ConsiderAllSchemas = 0) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RefreshPane( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SmartDocumentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SmartDocument * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SmartDocument * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SmartDocument * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SmartDocument * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SmartDocument * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SmartDocument * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SmartDocument * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SmartDocument * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SmartDocument * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SolutionID )( 
            SmartDocument * This,
            /* [retval][out] */ BSTR *pbstrID);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SolutionID )( 
            SmartDocument * This,
            /* [in] */ BSTR pbstrID);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SolutionURL )( 
            SmartDocument * This,
            /* [retval][out] */ BSTR *pbstrUrl);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SolutionURL )( 
            SmartDocument * This,
            /* [in] */ BSTR pbstrUrl);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *PickSolution )( 
            SmartDocument * This,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL ConsiderAllSchemas);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RefreshPane )( 
            SmartDocument * This);
        
        END_INTERFACE
    } SmartDocumentVtbl;

    interface SmartDocument
    {
        CONST_VTBL struct SmartDocumentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SmartDocument_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SmartDocument_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SmartDocument_get_SolutionID(This,pbstrID)	\
    ( (This)->lpVtbl -> get_SolutionID(This,pbstrID) ) 

#define SmartDocument_put_SolutionID(This,pbstrID)	\
    ( (This)->lpVtbl -> put_SolutionID(This,pbstrID) ) 

#define SmartDocument_get_SolutionURL(This,pbstrUrl)	\
    ( (This)->lpVtbl -> get_SolutionURL(This,pbstrUrl) ) 

#define SmartDocument_put_SolutionURL(This,pbstrUrl)	\
    ( (This)->lpVtbl -> put_SolutionURL(This,pbstrUrl) ) 

#define SmartDocument_PickSolution(This,ConsiderAllSchemas)	\
    ( (This)->lpVtbl -> PickSolution(This,ConsiderAllSchemas) ) 

#define SmartDocument_RefreshPane(This)	\
    ( (This)->lpVtbl -> RefreshPane(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SmartDocument_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspaceMember_INTERFACE_DEFINED__
#define __SharedWorkspaceMember_INTERFACE_DEFINED__

/* interface SharedWorkspaceMember */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspaceMember;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0381-0000-0000-C000-000000000046")
    SharedWorkspaceMember : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DomainName( 
            /* [retval][out] */ BSTR *pbstrDomainName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Email( 
            /* [retval][out] */ BSTR *pbstrEmail) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *Id) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceMemberVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspaceMember * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspaceMember * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspaceMember * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspaceMember * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspaceMember * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspaceMember * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspaceMember * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspaceMember * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspaceMember * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DomainName )( 
            SharedWorkspaceMember * This,
            /* [retval][out] */ BSTR *pbstrDomainName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            SharedWorkspaceMember * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Email )( 
            SharedWorkspaceMember * This,
            /* [retval][out] */ BSTR *pbstrEmail);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            SharedWorkspaceMember * This);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            SharedWorkspaceMember * This,
            /* [retval][out] */ BSTR *Id);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspaceMember * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } SharedWorkspaceMemberVtbl;

    interface SharedWorkspaceMember
    {
        CONST_VTBL struct SharedWorkspaceMemberVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspaceMember_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspaceMember_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspaceMember_get_DomainName(This,pbstrDomainName)	\
    ( (This)->lpVtbl -> get_DomainName(This,pbstrDomainName) ) 

#define SharedWorkspaceMember_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define SharedWorkspaceMember_get_Email(This,pbstrEmail)	\
    ( (This)->lpVtbl -> get_Email(This,pbstrEmail) ) 

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

#define SharedWorkspaceMember_get_Id(This,Id)	\
    ( (This)->lpVtbl -> get_Id(This,Id) ) 

#define SharedWorkspaceMember_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspaceMember_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspaceMembers_INTERFACE_DEFINED__
#define __SharedWorkspaceMembers_INTERFACE_DEFINED__

/* interface SharedWorkspaceMembers */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspaceMembers;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0382-0000-0000-C000-000000000046")
    SharedWorkspaceMembers : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ SharedWorkspaceMember **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pcItems) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Email,
            /* [in] */ BSTR DomainName,
            /* [in] */ BSTR DisplayName,
            /* [optional][in] */ VARIANT Role,
            /* [retval][out] */ SharedWorkspaceMember **ppMember) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ItemCountExceeded( 
            /* [retval][out] */ VARIANT_BOOL *pf) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceMembersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspaceMembers * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspaceMembers * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspaceMembers * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspaceMembers * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspaceMembers * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspaceMembers * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspaceMembers * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspaceMembers * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspaceMembers * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SharedWorkspaceMembers * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SharedWorkspaceMembers * This,
            /* [in] */ int Index,
            /* [retval][out] */ SharedWorkspaceMember **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SharedWorkspaceMembers * This,
            /* [retval][out] */ int *pcItems);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            SharedWorkspaceMembers * This,
            /* [in] */ BSTR Email,
            /* [in] */ BSTR DomainName,
            /* [in] */ BSTR DisplayName,
            /* [optional][in] */ VARIANT Role,
            /* [retval][out] */ SharedWorkspaceMember **ppMember);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspaceMembers * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ItemCountExceeded )( 
            SharedWorkspaceMembers * This,
            /* [retval][out] */ VARIANT_BOOL *pf);
        
        END_INTERFACE
    } SharedWorkspaceMembersVtbl;

    interface SharedWorkspaceMembers
    {
        CONST_VTBL struct SharedWorkspaceMembersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspaceMembers_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspaceMembers_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspaceMembers_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define SharedWorkspaceMembers_get_Item(This,Index,ppidisp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppidisp) ) 

#define SharedWorkspaceMembers_get_Count(This,pcItems)	\
    ( (This)->lpVtbl -> get_Count(This,pcItems) ) 

#define SharedWorkspaceMembers_Add(This,Email,DomainName,DisplayName,Role,ppMember)	\
    ( (This)->lpVtbl -> Add(This,Email,DomainName,DisplayName,Role,ppMember) ) 

#define SharedWorkspaceMembers_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define SharedWorkspaceMembers_get_ItemCountExceeded(This,pf)	\
    ( (This)->lpVtbl -> get_ItemCountExceeded(This,pf) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspaceMembers_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspaceTask_INTERFACE_DEFINED__
#define __SharedWorkspaceTask_INTERFACE_DEFINED__

/* interface SharedWorkspaceTask */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspaceTask;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0379-0000-0000-C000-000000000046")
    SharedWorkspaceTask : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *Title) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR Title) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AssignedTo( 
            /* [retval][out] */ BSTR *AssignedTo) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AssignedTo( 
            /* [in] */ BSTR AssignedTo) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ MsoSharedWorkspaceTaskStatus *Status) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Status( 
            /* [in] */ MsoSharedWorkspaceTaskStatus Status) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Priority( 
            /* [retval][out] */ MsoSharedWorkspaceTaskPriority *Priority) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Priority( 
            /* [in] */ MsoSharedWorkspaceTaskPriority Priority) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *Description) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR Description) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DueDate( 
            /* [retval][out] */ VARIANT *DueDate) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DueDate( 
            /* [in] */ VARIANT DueDate) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CreatedBy( 
            /* [retval][out] */ BSTR *CreatedBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CreatedDate( 
            /* [retval][out] */ VARIANT *CreatedDate) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ModifiedBy( 
            /* [retval][out] */ BSTR *ModifiedBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ModifiedDate( 
            /* [retval][out] */ VARIANT *ModifiedDate) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Save( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceTaskVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspaceTask * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspaceTask * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspaceTask * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspaceTask * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspaceTask * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspaceTask * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspaceTask * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ BSTR *Title);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            SharedWorkspaceTask * This,
            /* [in] */ BSTR Title);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AssignedTo )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ BSTR *AssignedTo);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AssignedTo )( 
            SharedWorkspaceTask * This,
            /* [in] */ BSTR AssignedTo);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ MsoSharedWorkspaceTaskStatus *Status);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Status )( 
            SharedWorkspaceTask * This,
            /* [in] */ MsoSharedWorkspaceTaskStatus Status);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Priority )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ MsoSharedWorkspaceTaskPriority *Priority);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Priority )( 
            SharedWorkspaceTask * This,
            /* [in] */ MsoSharedWorkspaceTaskPriority Priority);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ BSTR *Description);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            SharedWorkspaceTask * This,
            /* [in] */ BSTR Description);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DueDate )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ VARIANT *DueDate);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DueDate )( 
            SharedWorkspaceTask * This,
            /* [in] */ VARIANT DueDate);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CreatedBy )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ BSTR *CreatedBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CreatedDate )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ VARIANT *CreatedDate);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ModifiedBy )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ BSTR *ModifiedBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ModifiedDate )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ VARIANT *ModifiedDate);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            SharedWorkspaceTask * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            SharedWorkspaceTask * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspaceTask * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } SharedWorkspaceTaskVtbl;

    interface SharedWorkspaceTask
    {
        CONST_VTBL struct SharedWorkspaceTaskVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspaceTask_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspaceTask_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspaceTask_get_Title(This,Title)	\
    ( (This)->lpVtbl -> get_Title(This,Title) ) 

#define SharedWorkspaceTask_put_Title(This,Title)	\
    ( (This)->lpVtbl -> put_Title(This,Title) ) 

#define SharedWorkspaceTask_get_AssignedTo(This,AssignedTo)	\
    ( (This)->lpVtbl -> get_AssignedTo(This,AssignedTo) ) 

#define SharedWorkspaceTask_put_AssignedTo(This,AssignedTo)	\
    ( (This)->lpVtbl -> put_AssignedTo(This,AssignedTo) ) 

#define SharedWorkspaceTask_get_Status(This,Status)	\
    ( (This)->lpVtbl -> get_Status(This,Status) ) 

#define SharedWorkspaceTask_put_Status(This,Status)	\
    ( (This)->lpVtbl -> put_Status(This,Status) ) 

#define SharedWorkspaceTask_get_Priority(This,Priority)	\
    ( (This)->lpVtbl -> get_Priority(This,Priority) ) 

#define SharedWorkspaceTask_put_Priority(This,Priority)	\
    ( (This)->lpVtbl -> put_Priority(This,Priority) ) 

#define SharedWorkspaceTask_get_Description(This,Description)	\
    ( (This)->lpVtbl -> get_Description(This,Description) ) 

#define SharedWorkspaceTask_put_Description(This,Description)	\
    ( (This)->lpVtbl -> put_Description(This,Description) ) 

#define SharedWorkspaceTask_get_DueDate(This,DueDate)	\
    ( (This)->lpVtbl -> get_DueDate(This,DueDate) ) 

#define SharedWorkspaceTask_put_DueDate(This,DueDate)	\
    ( (This)->lpVtbl -> put_DueDate(This,DueDate) ) 

#define SharedWorkspaceTask_get_CreatedBy(This,CreatedBy)	\
    ( (This)->lpVtbl -> get_CreatedBy(This,CreatedBy) ) 

#define SharedWorkspaceTask_get_CreatedDate(This,CreatedDate)	\
    ( (This)->lpVtbl -> get_CreatedDate(This,CreatedDate) ) 

#define SharedWorkspaceTask_get_ModifiedBy(This,ModifiedBy)	\
    ( (This)->lpVtbl -> get_ModifiedBy(This,ModifiedBy) ) 

#define SharedWorkspaceTask_get_ModifiedDate(This,ModifiedDate)	\
    ( (This)->lpVtbl -> get_ModifiedDate(This,ModifiedDate) ) 

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

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

#define SharedWorkspaceTask_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspaceTask_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspaceTasks_INTERFACE_DEFINED__
#define __SharedWorkspaceTasks_INTERFACE_DEFINED__

/* interface SharedWorkspaceTasks */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspaceTasks;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C037A-0000-0000-C000-000000000046")
    SharedWorkspaceTasks : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ SharedWorkspaceTask **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pcItems) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Title,
            /* [optional][in] */ VARIANT Status,
            /* [optional][in] */ VARIANT Priority,
            /* [optional][in] */ VARIANT Assignee,
            /* [optional][in] */ VARIANT Description,
            /* [optional][in] */ VARIANT DueDate,
            /* [retval][out] */ SharedWorkspaceTask **ppTask) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ItemCountExceeded( 
            /* [retval][out] */ VARIANT_BOOL *pf) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceTasksVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspaceTasks * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspaceTasks * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspaceTasks * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspaceTasks * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspaceTasks * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspaceTasks * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspaceTasks * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspaceTasks * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspaceTasks * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SharedWorkspaceTasks * This,
            /* [in] */ int Index,
            /* [retval][out] */ SharedWorkspaceTask **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SharedWorkspaceTasks * This,
            /* [retval][out] */ int *pcItems);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            SharedWorkspaceTasks * This,
            /* [in] */ BSTR Title,
            /* [optional][in] */ VARIANT Status,
            /* [optional][in] */ VARIANT Priority,
            /* [optional][in] */ VARIANT Assignee,
            /* [optional][in] */ VARIANT Description,
            /* [optional][in] */ VARIANT DueDate,
            /* [retval][out] */ SharedWorkspaceTask **ppTask);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspaceTasks * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ItemCountExceeded )( 
            SharedWorkspaceTasks * This,
            /* [retval][out] */ VARIANT_BOOL *pf);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SharedWorkspaceTasks * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        END_INTERFACE
    } SharedWorkspaceTasksVtbl;

    interface SharedWorkspaceTasks
    {
        CONST_VTBL struct SharedWorkspaceTasksVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspaceTasks_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspaceTasks_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspaceTasks_get_Item(This,Index,ppidisp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppidisp) ) 

#define SharedWorkspaceTasks_get_Count(This,pcItems)	\
    ( (This)->lpVtbl -> get_Count(This,pcItems) ) 

#define SharedWorkspaceTasks_Add(This,Title,Status,Priority,Assignee,Description,DueDate,ppTask)	\
    ( (This)->lpVtbl -> Add(This,Title,Status,Priority,Assignee,Description,DueDate,ppTask) ) 

#define SharedWorkspaceTasks_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define SharedWorkspaceTasks_get_ItemCountExceeded(This,pf)	\
    ( (This)->lpVtbl -> get_ItemCountExceeded(This,pf) ) 

#define SharedWorkspaceTasks_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspaceTasks_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspaceFile_INTERFACE_DEFINED__
#define __SharedWorkspaceFile_INTERFACE_DEFINED__

/* interface SharedWorkspaceFile */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspaceFile;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C037B-0000-0000-C000-000000000046")
    SharedWorkspaceFile : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *pbstrFilename) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CreatedBy( 
            /* [retval][out] */ BSTR *pbstrCreatedBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CreatedDate( 
            /* [retval][out] */ VARIANT *CreatedDate) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ModifiedBy( 
            /* [retval][out] */ BSTR *pbstrModifiedBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ModifiedDate( 
            /* [retval][out] */ VARIANT *ModifiedDate) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceFileVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspaceFile * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspaceFile * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspaceFile * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspaceFile * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspaceFile * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspaceFile * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspaceFile * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspaceFile * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspaceFile * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            SharedWorkspaceFile * This,
            /* [retval][out] */ BSTR *pbstrFilename);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CreatedBy )( 
            SharedWorkspaceFile * This,
            /* [retval][out] */ BSTR *pbstrCreatedBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CreatedDate )( 
            SharedWorkspaceFile * This,
            /* [retval][out] */ VARIANT *CreatedDate);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ModifiedBy )( 
            SharedWorkspaceFile * This,
            /* [retval][out] */ BSTR *pbstrModifiedBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ModifiedDate )( 
            SharedWorkspaceFile * This,
            /* [retval][out] */ VARIANT *ModifiedDate);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            SharedWorkspaceFile * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspaceFile * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } SharedWorkspaceFileVtbl;

    interface SharedWorkspaceFile
    {
        CONST_VTBL struct SharedWorkspaceFileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspaceFile_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspaceFile_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspaceFile_get_URL(This,pbstrFilename)	\
    ( (This)->lpVtbl -> get_URL(This,pbstrFilename) ) 

#define SharedWorkspaceFile_get_CreatedBy(This,pbstrCreatedBy)	\
    ( (This)->lpVtbl -> get_CreatedBy(This,pbstrCreatedBy) ) 

#define SharedWorkspaceFile_get_CreatedDate(This,CreatedDate)	\
    ( (This)->lpVtbl -> get_CreatedDate(This,CreatedDate) ) 

#define SharedWorkspaceFile_get_ModifiedBy(This,pbstrModifiedBy)	\
    ( (This)->lpVtbl -> get_ModifiedBy(This,pbstrModifiedBy) ) 

#define SharedWorkspaceFile_get_ModifiedDate(This,ModifiedDate)	\
    ( (This)->lpVtbl -> get_ModifiedDate(This,ModifiedDate) ) 

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

#define SharedWorkspaceFile_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspaceFile_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspaceFiles_INTERFACE_DEFINED__
#define __SharedWorkspaceFiles_INTERFACE_DEFINED__

/* interface SharedWorkspaceFiles */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspaceFiles;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C037C-0000-0000-C000-000000000046")
    SharedWorkspaceFiles : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ SharedWorkspaceFile **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pcItems) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR FileName,
            /* [optional][in] */ VARIANT ParentFolder,
            /* [optional][in] */ VARIANT OverwriteIfFileAlreadyExists,
            /* [optional][in] */ VARIANT KeepInSync,
            /* [retval][out] */ SharedWorkspaceFile **ppFile) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ItemCountExceeded( 
            /* [retval][out] */ VARIANT_BOOL *pf) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceFilesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspaceFiles * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspaceFiles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspaceFiles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspaceFiles * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspaceFiles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspaceFiles * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspaceFiles * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspaceFiles * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspaceFiles * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SharedWorkspaceFiles * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SharedWorkspaceFiles * This,
            /* [in] */ int Index,
            /* [retval][out] */ SharedWorkspaceFile **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SharedWorkspaceFiles * This,
            /* [retval][out] */ int *pcItems);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            SharedWorkspaceFiles * This,
            /* [in] */ BSTR FileName,
            /* [optional][in] */ VARIANT ParentFolder,
            /* [optional][in] */ VARIANT OverwriteIfFileAlreadyExists,
            /* [optional][in] */ VARIANT KeepInSync,
            /* [retval][out] */ SharedWorkspaceFile **ppFile);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspaceFiles * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ItemCountExceeded )( 
            SharedWorkspaceFiles * This,
            /* [retval][out] */ VARIANT_BOOL *pf);
        
        END_INTERFACE
    } SharedWorkspaceFilesVtbl;

    interface SharedWorkspaceFiles
    {
        CONST_VTBL struct SharedWorkspaceFilesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspaceFiles_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspaceFiles_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspaceFiles_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define SharedWorkspaceFiles_get_Item(This,Index,ppidisp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppidisp) ) 

#define SharedWorkspaceFiles_get_Count(This,pcItems)	\
    ( (This)->lpVtbl -> get_Count(This,pcItems) ) 

#define SharedWorkspaceFiles_Add(This,FileName,ParentFolder,OverwriteIfFileAlreadyExists,KeepInSync,ppFile)	\
    ( (This)->lpVtbl -> Add(This,FileName,ParentFolder,OverwriteIfFileAlreadyExists,KeepInSync,ppFile) ) 

#define SharedWorkspaceFiles_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define SharedWorkspaceFiles_get_ItemCountExceeded(This,pf)	\
    ( (This)->lpVtbl -> get_ItemCountExceeded(This,pf) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspaceFiles_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspaceFolder_INTERFACE_DEFINED__
#define __SharedWorkspaceFolder_INTERFACE_DEFINED__

/* interface SharedWorkspaceFolder */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspaceFolder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C037D-0000-0000-C000-000000000046")
    SharedWorkspaceFolder : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FolderName( 
            /* [retval][out] */ BSTR *FolderName) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [optional][in] */ VARIANT DeleteEventIfFolderContainsFiles) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceFolderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspaceFolder * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspaceFolder * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspaceFolder * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspaceFolder * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspaceFolder * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspaceFolder * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspaceFolder * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspaceFolder * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspaceFolder * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FolderName )( 
            SharedWorkspaceFolder * This,
            /* [retval][out] */ BSTR *FolderName);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            SharedWorkspaceFolder * This,
            /* [optional][in] */ VARIANT DeleteEventIfFolderContainsFiles);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspaceFolder * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } SharedWorkspaceFolderVtbl;

    interface SharedWorkspaceFolder
    {
        CONST_VTBL struct SharedWorkspaceFolderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspaceFolder_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspaceFolder_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspaceFolder_get_FolderName(This,FolderName)	\
    ( (This)->lpVtbl -> get_FolderName(This,FolderName) ) 

#define SharedWorkspaceFolder_Delete(This,DeleteEventIfFolderContainsFiles)	\
    ( (This)->lpVtbl -> Delete(This,DeleteEventIfFolderContainsFiles) ) 

#define SharedWorkspaceFolder_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspaceFolder_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspaceFolders_INTERFACE_DEFINED__
#define __SharedWorkspaceFolders_INTERFACE_DEFINED__

/* interface SharedWorkspaceFolders */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspaceFolders;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C037E-0000-0000-C000-000000000046")
    SharedWorkspaceFolders : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ SharedWorkspaceFolder **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pcItems) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR FolderName,
            /* [optional][in] */ VARIANT ParentFolder,
            /* [retval][out] */ SharedWorkspaceFolder **ppFolder) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ItemCountExceeded( 
            /* [retval][out] */ VARIANT_BOOL *pf) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceFoldersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspaceFolders * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspaceFolders * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspaceFolders * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspaceFolders * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspaceFolders * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspaceFolders * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspaceFolders * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspaceFolders * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspaceFolders * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SharedWorkspaceFolders * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SharedWorkspaceFolders * This,
            /* [in] */ int Index,
            /* [retval][out] */ SharedWorkspaceFolder **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SharedWorkspaceFolders * This,
            /* [retval][out] */ int *pcItems);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            SharedWorkspaceFolders * This,
            /* [in] */ BSTR FolderName,
            /* [optional][in] */ VARIANT ParentFolder,
            /* [retval][out] */ SharedWorkspaceFolder **ppFolder);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspaceFolders * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ItemCountExceeded )( 
            SharedWorkspaceFolders * This,
            /* [retval][out] */ VARIANT_BOOL *pf);
        
        END_INTERFACE
    } SharedWorkspaceFoldersVtbl;

    interface SharedWorkspaceFolders
    {
        CONST_VTBL struct SharedWorkspaceFoldersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspaceFolders_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspaceFolders_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspaceFolders_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define SharedWorkspaceFolders_get_Item(This,Index,ppidisp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppidisp) ) 

#define SharedWorkspaceFolders_get_Count(This,pcItems)	\
    ( (This)->lpVtbl -> get_Count(This,pcItems) ) 

#define SharedWorkspaceFolders_Add(This,FolderName,ParentFolder,ppFolder)	\
    ( (This)->lpVtbl -> Add(This,FolderName,ParentFolder,ppFolder) ) 

#define SharedWorkspaceFolders_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define SharedWorkspaceFolders_get_ItemCountExceeded(This,pf)	\
    ( (This)->lpVtbl -> get_ItemCountExceeded(This,pf) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspaceFolders_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspaceLink_INTERFACE_DEFINED__
#define __SharedWorkspaceLink_INTERFACE_DEFINED__

/* interface SharedWorkspaceLink */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspaceLink;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C037F-0000-0000-C000-000000000046")
    SharedWorkspaceLink : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *URL) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ BSTR URL) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *Description) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR Description) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Notes( 
            /* [retval][out] */ BSTR *Notes) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Notes( 
            /* [in] */ BSTR Notes) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CreatedBy( 
            /* [retval][out] */ BSTR *CreatedBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CreatedDate( 
            /* [retval][out] */ VARIANT *CreatedDate) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ModifiedBy( 
            /* [retval][out] */ BSTR *ModifiedBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ModifiedDate( 
            /* [retval][out] */ VARIANT *ModifiedDate) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Save( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceLinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspaceLink * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspaceLink * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspaceLink * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspaceLink * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspaceLink * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspaceLink * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspaceLink * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspaceLink * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspaceLink * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            SharedWorkspaceLink * This,
            /* [retval][out] */ BSTR *URL);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            SharedWorkspaceLink * This,
            /* [in] */ BSTR URL);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            SharedWorkspaceLink * This,
            /* [retval][out] */ BSTR *Description);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            SharedWorkspaceLink * This,
            /* [in] */ BSTR Description);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Notes )( 
            SharedWorkspaceLink * This,
            /* [retval][out] */ BSTR *Notes);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Notes )( 
            SharedWorkspaceLink * This,
            /* [in] */ BSTR Notes);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CreatedBy )( 
            SharedWorkspaceLink * This,
            /* [retval][out] */ BSTR *CreatedBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CreatedDate )( 
            SharedWorkspaceLink * This,
            /* [retval][out] */ VARIANT *CreatedDate);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ModifiedBy )( 
            SharedWorkspaceLink * This,
            /* [retval][out] */ BSTR *ModifiedBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ModifiedDate )( 
            SharedWorkspaceLink * This,
            /* [retval][out] */ VARIANT *ModifiedDate);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            SharedWorkspaceLink * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            SharedWorkspaceLink * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspaceLink * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } SharedWorkspaceLinkVtbl;

    interface SharedWorkspaceLink
    {
        CONST_VTBL struct SharedWorkspaceLinkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspaceLink_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspaceLink_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspaceLink_get_URL(This,URL)	\
    ( (This)->lpVtbl -> get_URL(This,URL) ) 

#define SharedWorkspaceLink_put_URL(This,URL)	\
    ( (This)->lpVtbl -> put_URL(This,URL) ) 

#define SharedWorkspaceLink_get_Description(This,Description)	\
    ( (This)->lpVtbl -> get_Description(This,Description) ) 

#define SharedWorkspaceLink_put_Description(This,Description)	\
    ( (This)->lpVtbl -> put_Description(This,Description) ) 

#define SharedWorkspaceLink_get_Notes(This,Notes)	\
    ( (This)->lpVtbl -> get_Notes(This,Notes) ) 

#define SharedWorkspaceLink_put_Notes(This,Notes)	\
    ( (This)->lpVtbl -> put_Notes(This,Notes) ) 

#define SharedWorkspaceLink_get_CreatedBy(This,CreatedBy)	\
    ( (This)->lpVtbl -> get_CreatedBy(This,CreatedBy) ) 

#define SharedWorkspaceLink_get_CreatedDate(This,CreatedDate)	\
    ( (This)->lpVtbl -> get_CreatedDate(This,CreatedDate) ) 

#define SharedWorkspaceLink_get_ModifiedBy(This,ModifiedBy)	\
    ( (This)->lpVtbl -> get_ModifiedBy(This,ModifiedBy) ) 

#define SharedWorkspaceLink_get_ModifiedDate(This,ModifiedDate)	\
    ( (This)->lpVtbl -> get_ModifiedDate(This,ModifiedDate) ) 

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

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

#define SharedWorkspaceLink_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspaceLink_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspaceLinks_INTERFACE_DEFINED__
#define __SharedWorkspaceLinks_INTERFACE_DEFINED__

/* interface SharedWorkspaceLinks */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspaceLinks;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0380-0000-0000-C000-000000000046")
    SharedWorkspaceLinks : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ SharedWorkspaceLink **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pcItems) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR URL,
            /* [optional][in] */ VARIANT Description,
            /* [optional][in] */ VARIANT Notes,
            /* [retval][out] */ SharedWorkspaceLink **ppLink) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ItemCountExceeded( 
            /* [retval][out] */ VARIANT_BOOL *pf) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceLinksVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspaceLinks * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspaceLinks * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspaceLinks * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspaceLinks * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspaceLinks * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspaceLinks * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspaceLinks * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspaceLinks * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspaceLinks * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SharedWorkspaceLinks * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SharedWorkspaceLinks * This,
            /* [in] */ int Index,
            /* [retval][out] */ SharedWorkspaceLink **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SharedWorkspaceLinks * This,
            /* [retval][out] */ int *pcItems);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            SharedWorkspaceLinks * This,
            /* [in] */ BSTR URL,
            /* [optional][in] */ VARIANT Description,
            /* [optional][in] */ VARIANT Notes,
            /* [retval][out] */ SharedWorkspaceLink **ppLink);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspaceLinks * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ItemCountExceeded )( 
            SharedWorkspaceLinks * This,
            /* [retval][out] */ VARIANT_BOOL *pf);
        
        END_INTERFACE
    } SharedWorkspaceLinksVtbl;

    interface SharedWorkspaceLinks
    {
        CONST_VTBL struct SharedWorkspaceLinksVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspaceLinks_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspaceLinks_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspaceLinks_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define SharedWorkspaceLinks_get_Item(This,Index,ppidisp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppidisp) ) 

#define SharedWorkspaceLinks_get_Count(This,pcItems)	\
    ( (This)->lpVtbl -> get_Count(This,pcItems) ) 

#define SharedWorkspaceLinks_Add(This,URL,Description,Notes,ppLink)	\
    ( (This)->lpVtbl -> Add(This,URL,Description,Notes,ppLink) ) 

#define SharedWorkspaceLinks_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define SharedWorkspaceLinks_get_ItemCountExceeded(This,pf)	\
    ( (This)->lpVtbl -> get_ItemCountExceeded(This,pf) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspaceLinks_INTERFACE_DEFINED__ */


#ifndef __SharedWorkspace_INTERFACE_DEFINED__
#define __SharedWorkspace_INTERFACE_DEFINED__

/* interface SharedWorkspace */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SharedWorkspace;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0385-0000-0000-C000-000000000046")
    SharedWorkspace : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Members( 
            /* [retval][out] */ SharedWorkspaceMembers **ppMembers) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Tasks( 
            /* [retval][out] */ SharedWorkspaceTasks **ppTasks) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Files( 
            /* [retval][out] */ SharedWorkspaceFiles **ppFiles) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Folders( 
            /* [retval][out] */ SharedWorkspaceFolders **ppFolders) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Links( 
            /* [retval][out] */ SharedWorkspaceLinks **ppLinks) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CreateNew( 
            /* [optional][in] */ VARIANT URL,
            /* [optional][in] */ VARIANT Name) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *pbstrUrl) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Connected( 
            /* [retval][out] */ VARIANT_BOOL *pfConnected) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LastRefreshed( 
            /* [retval][out] */ VARIANT *pvarLastRefreshed) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SourceURL( 
            /* [retval][out] */ BSTR *pbstrSourceURL) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SourceURL( 
            /* [in] */ BSTR pbstrSourceURL) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveDocument( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SharedWorkspaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SharedWorkspace * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SharedWorkspace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SharedWorkspace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SharedWorkspace * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SharedWorkspace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SharedWorkspace * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SharedWorkspace * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SharedWorkspace * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SharedWorkspace * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            SharedWorkspace * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            SharedWorkspace * This,
            /* [in] */ BSTR Name);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Members )( 
            SharedWorkspace * This,
            /* [retval][out] */ SharedWorkspaceMembers **ppMembers);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Tasks )( 
            SharedWorkspace * This,
            /* [retval][out] */ SharedWorkspaceTasks **ppTasks);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Files )( 
            SharedWorkspace * This,
            /* [retval][out] */ SharedWorkspaceFiles **ppFiles);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Folders )( 
            SharedWorkspace * This,
            /* [retval][out] */ SharedWorkspaceFolders **ppFolders);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Links )( 
            SharedWorkspace * This,
            /* [retval][out] */ SharedWorkspaceLinks **ppLinks);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( 
            SharedWorkspace * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CreateNew )( 
            SharedWorkspace * This,
            /* [optional][in] */ VARIANT URL,
            /* [optional][in] */ VARIANT Name);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            SharedWorkspace * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SharedWorkspace * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            SharedWorkspace * This,
            /* [retval][out] */ BSTR *pbstrUrl);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Connected )( 
            SharedWorkspace * This,
            /* [retval][out] */ VARIANT_BOOL *pfConnected);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastRefreshed )( 
            SharedWorkspace * This,
            /* [retval][out] */ VARIANT *pvarLastRefreshed);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SourceURL )( 
            SharedWorkspace * This,
            /* [retval][out] */ BSTR *pbstrSourceURL);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SourceURL )( 
            SharedWorkspace * This,
            /* [in] */ BSTR pbstrSourceURL);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveDocument )( 
            SharedWorkspace * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            SharedWorkspace * This);
        
        END_INTERFACE
    } SharedWorkspaceVtbl;

    interface SharedWorkspace
    {
        CONST_VTBL struct SharedWorkspaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define SharedWorkspace_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SharedWorkspace_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SharedWorkspace_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define SharedWorkspace_put_Name(This,Name)	\
    ( (This)->lpVtbl -> put_Name(This,Name) ) 

#define SharedWorkspace_get_Members(This,ppMembers)	\
    ( (This)->lpVtbl -> get_Members(This,ppMembers) ) 

#define SharedWorkspace_get_Tasks(This,ppTasks)	\
    ( (This)->lpVtbl -> get_Tasks(This,ppTasks) ) 

#define SharedWorkspace_get_Files(This,ppFiles)	\
    ( (This)->lpVtbl -> get_Files(This,ppFiles) ) 

#define SharedWorkspace_get_Folders(This,ppFolders)	\
    ( (This)->lpVtbl -> get_Folders(This,ppFolders) ) 

#define SharedWorkspace_get_Links(This,ppLinks)	\
    ( (This)->lpVtbl -> get_Links(This,ppLinks) ) 

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

#define SharedWorkspace_CreateNew(This,URL,Name)	\
    ( (This)->lpVtbl -> CreateNew(This,URL,Name) ) 

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

#define SharedWorkspace_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define SharedWorkspace_get_URL(This,pbstrUrl)	\
    ( (This)->lpVtbl -> get_URL(This,pbstrUrl) ) 

#define SharedWorkspace_get_Connected(This,pfConnected)	\
    ( (This)->lpVtbl -> get_Connected(This,pfConnected) ) 

#define SharedWorkspace_get_LastRefreshed(This,pvarLastRefreshed)	\
    ( (This)->lpVtbl -> get_LastRefreshed(This,pvarLastRefreshed) ) 

#define SharedWorkspace_get_SourceURL(This,pbstrSourceURL)	\
    ( (This)->lpVtbl -> get_SourceURL(This,pbstrSourceURL) ) 

#define SharedWorkspace_put_SourceURL(This,pbstrSourceURL)	\
    ( (This)->lpVtbl -> put_SourceURL(This,pbstrSourceURL) ) 

#define SharedWorkspace_RemoveDocument(This)	\
    ( (This)->lpVtbl -> RemoveDocument(This) ) 

#define SharedWorkspace_Disconnect(This)	\
    ( (This)->lpVtbl -> Disconnect(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SharedWorkspace_INTERFACE_DEFINED__ */


#ifndef __Sync_INTERFACE_DEFINED__
#define __Sync_INTERFACE_DEFINED__

/* interface Sync */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_Sync;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0386-0000-0000-C000-000000000046")
    Sync : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Status( 
            /* [retval][out] */ MsoSyncStatusType *pStatusType) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_WorkspaceLastChangedBy( 
            /* [retval][out] */ BSTR *pbstrWorkspaceLastChangedBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LastSyncTime( 
            /* [retval][out] */ VARIANT *pdatSavedTo) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ErrorType( 
            /* [retval][out] */ MsoSyncErrorType *pErrorType) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetUpdate( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE PutUpdate( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE OpenVersion( 
            /* [in] */ MsoSyncVersionType SyncVersionType) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ResolveConflict( 
            /* [in] */ MsoSyncConflictResolutionType SyncConflictResolution) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Unsuspend( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SyncVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Sync * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Sync * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Sync * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Sync * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Sync * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Sync * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Sync * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Sync * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Sync * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Status )( 
            Sync * This,
            /* [retval][out] */ MsoSyncStatusType *pStatusType);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WorkspaceLastChangedBy )( 
            Sync * This,
            /* [retval][out] */ BSTR *pbstrWorkspaceLastChangedBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastSyncTime )( 
            Sync * This,
            /* [retval][out] */ VARIANT *pdatSavedTo);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ErrorType )( 
            Sync * This,
            /* [retval][out] */ MsoSyncErrorType *pErrorType);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetUpdate )( 
            Sync * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *PutUpdate )( 
            Sync * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *OpenVersion )( 
            Sync * This,
            /* [in] */ MsoSyncVersionType SyncVersionType);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ResolveConflict )( 
            Sync * This,
            /* [in] */ MsoSyncConflictResolutionType SyncConflictResolution);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Unsuspend )( 
            Sync * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Sync * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } SyncVtbl;

    interface Sync
    {
        CONST_VTBL struct SyncVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

#define Sync_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define Sync_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define Sync_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define Sync_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Sync_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Sync_get_Status(This,pStatusType)	\
    ( (This)->lpVtbl -> get_Status(This,pStatusType) ) 

#define Sync_get_WorkspaceLastChangedBy(This,pbstrWorkspaceLastChangedBy)	\
    ( (This)->lpVtbl -> get_WorkspaceLastChangedBy(This,pbstrWorkspaceLastChangedBy) ) 

#define Sync_get_LastSyncTime(This,pdatSavedTo)	\
    ( (This)->lpVtbl -> get_LastSyncTime(This,pdatSavedTo) ) 

#define Sync_get_ErrorType(This,pErrorType)	\
    ( (This)->lpVtbl -> get_ErrorType(This,pErrorType) ) 

#define Sync_GetUpdate(This)	\
    ( (This)->lpVtbl -> GetUpdate(This) ) 

#define Sync_PutUpdate(This)	\
    ( (This)->lpVtbl -> PutUpdate(This) ) 

#define Sync_OpenVersion(This,SyncVersionType)	\
    ( (This)->lpVtbl -> OpenVersion(This,SyncVersionType) ) 

#define Sync_ResolveConflict(This,SyncConflictResolution)	\
    ( (This)->lpVtbl -> ResolveConflict(This,SyncConflictResolution) ) 

#define Sync_Unsuspend(This)	\
    ( (This)->lpVtbl -> Unsuspend(This) ) 

#define Sync_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Sync_INTERFACE_DEFINED__ */


#ifndef __DocumentLibraryVersion_INTERFACE_DEFINED__
#define __DocumentLibraryVersion_INTERFACE_DEFINED__

/* interface DocumentLibraryVersion */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_DocumentLibraryVersion;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0387-0000-0000-C000-000000000046")
    DocumentLibraryVersion : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Modified( 
            /* [retval][out] */ VARIANT *pvarDate) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ long *lIndex) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ModifiedBy( 
            /* [retval][out] */ BSTR *userName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Comments( 
            /* [retval][out] */ BSTR *Comments) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [retval][out] */ IDispatch **ppdispOpened) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Restore( 
            /* [retval][out] */ IDispatch **ppdispOpened) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct DocumentLibraryVersionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            DocumentLibraryVersion * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            DocumentLibraryVersion * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            DocumentLibraryVersion * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            DocumentLibraryVersion * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            DocumentLibraryVersion * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            DocumentLibraryVersion * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DocumentLibraryVersion * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            DocumentLibraryVersion * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            DocumentLibraryVersion * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Modified )( 
            DocumentLibraryVersion * This,
            /* [retval][out] */ VARIANT *pvarDate);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            DocumentLibraryVersion * This,
            /* [retval][out] */ long *lIndex);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            DocumentLibraryVersion * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ModifiedBy )( 
            DocumentLibraryVersion * This,
            /* [retval][out] */ BSTR *userName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Comments )( 
            DocumentLibraryVersion * This,
            /* [retval][out] */ BSTR *Comments);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            DocumentLibraryVersion * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            DocumentLibraryVersion * This,
            /* [retval][out] */ IDispatch **ppdispOpened);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Restore )( 
            DocumentLibraryVersion * This,
            /* [retval][out] */ IDispatch **ppdispOpened);
        
        END_INTERFACE
    } DocumentLibraryVersionVtbl;

    interface DocumentLibraryVersion
    {
        CONST_VTBL struct DocumentLibraryVersionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DocumentLibraryVersion_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DocumentLibraryVersion_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DocumentLibraryVersion_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DocumentLibraryVersion_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DocumentLibraryVersion_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DocumentLibraryVersion_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DocumentLibraryVersion_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define DocumentLibraryVersion_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define DocumentLibraryVersion_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define DocumentLibraryVersion_get_Modified(This,pvarDate)	\
    ( (This)->lpVtbl -> get_Modified(This,pvarDate) ) 

#define DocumentLibraryVersion_get_Index(This,lIndex)	\
    ( (This)->lpVtbl -> get_Index(This,lIndex) ) 

#define DocumentLibraryVersion_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define DocumentLibraryVersion_get_ModifiedBy(This,userName)	\
    ( (This)->lpVtbl -> get_ModifiedBy(This,userName) ) 

#define DocumentLibraryVersion_get_Comments(This,Comments)	\
    ( (This)->lpVtbl -> get_Comments(This,Comments) ) 

#define DocumentLibraryVersion_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define DocumentLibraryVersion_Open(This,ppdispOpened)	\
    ( (This)->lpVtbl -> Open(This,ppdispOpened) ) 

#define DocumentLibraryVersion_Restore(This,ppdispOpened)	\
    ( (This)->lpVtbl -> Restore(This,ppdispOpened) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __DocumentLibraryVersion_INTERFACE_DEFINED__ */


#ifndef __DocumentLibraryVersions_INTERFACE_DEFINED__
#define __DocumentLibraryVersions_INTERFACE_DEFINED__

/* interface DocumentLibraryVersions */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_DocumentLibraryVersions;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0388-0000-0000-C000-000000000046")
    DocumentLibraryVersions : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long lIndex,
            /* [retval][out] */ DocumentLibraryVersion **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *lCount) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsVersioningEnabled( 
            /* [retval][out] */ VARIANT_BOOL *pvarfVersioningOn) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct DocumentLibraryVersionsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            DocumentLibraryVersions * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            DocumentLibraryVersions * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            DocumentLibraryVersions * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            DocumentLibraryVersions * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            DocumentLibraryVersions * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            DocumentLibraryVersions * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DocumentLibraryVersions * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            DocumentLibraryVersions * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            DocumentLibraryVersions * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            DocumentLibraryVersions * This,
            /* [in] */ long lIndex,
            /* [retval][out] */ DocumentLibraryVersion **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            DocumentLibraryVersions * This,
            /* [retval][out] */ long *lCount);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            DocumentLibraryVersions * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsVersioningEnabled )( 
            DocumentLibraryVersions * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfVersioningOn);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            DocumentLibraryVersions * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        END_INTERFACE
    } DocumentLibraryVersionsVtbl;

    interface DocumentLibraryVersions
    {
        CONST_VTBL struct DocumentLibraryVersionsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DocumentLibraryVersions_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DocumentLibraryVersions_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DocumentLibraryVersions_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DocumentLibraryVersions_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DocumentLibraryVersions_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DocumentLibraryVersions_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DocumentLibraryVersions_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define DocumentLibraryVersions_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define DocumentLibraryVersions_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define DocumentLibraryVersions_get_Item(This,lIndex,ppidisp)	\
    ( (This)->lpVtbl -> get_Item(This,lIndex,ppidisp) ) 

#define DocumentLibraryVersions_get_Count(This,lCount)	\
    ( (This)->lpVtbl -> get_Count(This,lCount) ) 

#define DocumentLibraryVersions_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define DocumentLibraryVersions_get_IsVersioningEnabled(This,pvarfVersioningOn)	\
    ( (This)->lpVtbl -> get_IsVersioningEnabled(This,pvarfVersioningOn) ) 

#define DocumentLibraryVersions_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __DocumentLibraryVersions_INTERFACE_DEFINED__ */


#ifndef __UserPermission_INTERFACE_DEFINED__
#define __UserPermission_INTERFACE_DEFINED__

/* interface UserPermission */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_UserPermission;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0375-0000-0000-C000-000000000046")
    UserPermission : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_UserId( 
            /* [retval][out] */ BSTR *UserId) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Permission( 
            /* [retval][out] */ long *Permission) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Permission( 
            /* [in] */ long Permission) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ExpirationDate( 
            /* [retval][out] */ VARIANT *ExpirationDate) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ExpirationDate( 
            /* [in] */ VARIANT ExpirationDate) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Remove( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct UserPermissionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            UserPermission * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            UserPermission * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            UserPermission * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            UserPermission * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            UserPermission * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            UserPermission * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            UserPermission * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            UserPermission * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            UserPermission * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserId )( 
            UserPermission * This,
            /* [retval][out] */ BSTR *UserId);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Permission )( 
            UserPermission * This,
            /* [retval][out] */ long *Permission);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Permission )( 
            UserPermission * This,
            /* [in] */ long Permission);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExpirationDate )( 
            UserPermission * This,
            /* [retval][out] */ VARIANT *ExpirationDate);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ExpirationDate )( 
            UserPermission * This,
            /* [in] */ VARIANT ExpirationDate);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            UserPermission * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            UserPermission * This);
        
        END_INTERFACE
    } UserPermissionVtbl;

    interface UserPermission
    {
        CONST_VTBL struct UserPermissionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define UserPermission_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define UserPermission_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define UserPermission_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define UserPermission_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define UserPermission_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define UserPermission_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define UserPermission_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define UserPermission_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define UserPermission_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define UserPermission_get_UserId(This,UserId)	\
    ( (This)->lpVtbl -> get_UserId(This,UserId) ) 

#define UserPermission_get_Permission(This,Permission)	\
    ( (This)->lpVtbl -> get_Permission(This,Permission) ) 

#define UserPermission_put_Permission(This,Permission)	\
    ( (This)->lpVtbl -> put_Permission(This,Permission) ) 

#define UserPermission_get_ExpirationDate(This,ExpirationDate)	\
    ( (This)->lpVtbl -> get_ExpirationDate(This,ExpirationDate) ) 

#define UserPermission_put_ExpirationDate(This,ExpirationDate)	\
    ( (This)->lpVtbl -> put_ExpirationDate(This,ExpirationDate) ) 

#define UserPermission_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define UserPermission_Remove(This)	\
    ( (This)->lpVtbl -> Remove(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __UserPermission_INTERFACE_DEFINED__ */


#ifndef __Permission_INTERFACE_DEFINED__
#define __Permission_INTERFACE_DEFINED__

/* interface Permission */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_Permission;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0376-0000-0000-C000-000000000046")
    Permission : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ UserPermission **UserPerm) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *Count) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_EnableTrustedBrowser( 
            /* [retval][out] */ VARIANT_BOOL *Enable) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_EnableTrustedBrowser( 
            /* [in] */ VARIANT_BOOL Enable) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR UserId,
            /* [optional][in] */ VARIANT Permission,
            /* [optional][in] */ VARIANT ExpirationDate,
            /* [retval][out] */ UserPermission **UserPerm) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ApplyPolicy( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveAll( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [retval][out] */ VARIANT_BOOL *Enabled) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ VARIANT_BOOL Enabled) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_RequestPermissionURL( 
            /* [retval][out] */ BSTR *Contact) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_RequestPermissionURL( 
            /* [in] */ BSTR Contact) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PolicyName( 
            /* [retval][out] */ BSTR *PolicyName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PolicyDescription( 
            /* [retval][out] */ BSTR *PolicyDescription) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_StoreLicenses( 
            /* [retval][out] */ VARIANT_BOOL *Enabled) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_StoreLicenses( 
            /* [in] */ VARIANT_BOOL Enabled) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DocumentAuthor( 
            /* [retval][out] */ BSTR *Author) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DocumentAuthor( 
            /* [in] */ BSTR Author) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PermissionFromPolicy( 
            /* [retval][out] */ VARIANT_BOOL *FromPolicy) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PermissionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Permission * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Permission * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Permission * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Permission * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Permission * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Permission * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Permission * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Permission * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Permission * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            Permission * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ UserPermission **UserPerm);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            Permission * This,
            /* [retval][out] */ long *Count);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EnableTrustedBrowser )( 
            Permission * This,
            /* [retval][out] */ VARIANT_BOOL *Enable);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EnableTrustedBrowser )( 
            Permission * This,
            /* [in] */ VARIANT_BOOL Enable);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            Permission * This,
            /* [in] */ BSTR UserId,
            /* [optional][in] */ VARIANT Permission,
            /* [optional][in] */ VARIANT ExpirationDate,
            /* [retval][out] */ UserPermission **UserPerm);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ApplyPolicy )( 
            Permission * This,
            /* [in] */ BSTR FileName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Permission * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAll )( 
            Permission * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            Permission * This,
            /* [retval][out] */ VARIANT_BOOL *Enabled);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            Permission * This,
            /* [in] */ VARIANT_BOOL Enabled);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RequestPermissionURL )( 
            Permission * This,
            /* [retval][out] */ BSTR *Contact);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RequestPermissionURL )( 
            Permission * This,
            /* [in] */ BSTR Contact);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PolicyName )( 
            Permission * This,
            /* [retval][out] */ BSTR *PolicyName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PolicyDescription )( 
            Permission * This,
            /* [retval][out] */ BSTR *PolicyDescription);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StoreLicenses )( 
            Permission * This,
            /* [retval][out] */ VARIANT_BOOL *Enabled);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StoreLicenses )( 
            Permission * This,
            /* [in] */ VARIANT_BOOL Enabled);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentAuthor )( 
            Permission * This,
            /* [retval][out] */ BSTR *Author);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DocumentAuthor )( 
            Permission * This,
            /* [in] */ BSTR Author);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PermissionFromPolicy )( 
            Permission * This,
            /* [retval][out] */ VARIANT_BOOL *FromPolicy);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            Permission * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } PermissionVtbl;

    interface Permission
    {
        CONST_VTBL struct PermissionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Permission_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define Permission_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define Permission_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define Permission_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define Permission_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define Permission_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define Permission_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define Permission_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Permission_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Permission_get_Item(This,Index,UserPerm)	\
    ( (This)->lpVtbl -> get_Item(This,Index,UserPerm) ) 

#define Permission_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define Permission_get_EnableTrustedBrowser(This,Enable)	\
    ( (This)->lpVtbl -> get_EnableTrustedBrowser(This,Enable) ) 

#define Permission_put_EnableTrustedBrowser(This,Enable)	\
    ( (This)->lpVtbl -> put_EnableTrustedBrowser(This,Enable) ) 

#define Permission_Add(This,UserId,Permission,ExpirationDate,UserPerm)	\
    ( (This)->lpVtbl -> Add(This,UserId,Permission,ExpirationDate,UserPerm) ) 

#define Permission_ApplyPolicy(This,FileName)	\
    ( (This)->lpVtbl -> ApplyPolicy(This,FileName) ) 

#define Permission_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define Permission_RemoveAll(This)	\
    ( (This)->lpVtbl -> RemoveAll(This) ) 

#define Permission_get_Enabled(This,Enabled)	\
    ( (This)->lpVtbl -> get_Enabled(This,Enabled) ) 

#define Permission_put_Enabled(This,Enabled)	\
    ( (This)->lpVtbl -> put_Enabled(This,Enabled) ) 

#define Permission_get_RequestPermissionURL(This,Contact)	\
    ( (This)->lpVtbl -> get_RequestPermissionURL(This,Contact) ) 

#define Permission_put_RequestPermissionURL(This,Contact)	\
    ( (This)->lpVtbl -> put_RequestPermissionURL(This,Contact) ) 

#define Permission_get_PolicyName(This,PolicyName)	\
    ( (This)->lpVtbl -> get_PolicyName(This,PolicyName) ) 

#define Permission_get_PolicyDescription(This,PolicyDescription)	\
    ( (This)->lpVtbl -> get_PolicyDescription(This,PolicyDescription) ) 

#define Permission_get_StoreLicenses(This,Enabled)	\
    ( (This)->lpVtbl -> get_StoreLicenses(This,Enabled) ) 

#define Permission_put_StoreLicenses(This,Enabled)	\
    ( (This)->lpVtbl -> put_StoreLicenses(This,Enabled) ) 

#define Permission_get_DocumentAuthor(This,Author)	\
    ( (This)->lpVtbl -> get_DocumentAuthor(This,Author) ) 

#define Permission_put_DocumentAuthor(This,Author)	\
    ( (This)->lpVtbl -> put_DocumentAuthor(This,Author) ) 

#define Permission_get_PermissionFromPolicy(This,FromPolicy)	\
    ( (This)->lpVtbl -> get_PermissionFromPolicy(This,FromPolicy) ) 

#define Permission_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Permission_INTERFACE_DEFINED__ */


#ifndef __MsoDebugOptions_UTRunResult_INTERFACE_DEFINED__
#define __MsoDebugOptions_UTRunResult_INTERFACE_DEFINED__

/* interface MsoDebugOptions_UTRunResult */
/* [object][oleautomation][dual][hidden][uuid] */ 


extern "C++" const IID IID_MsoDebugOptions_UTRunResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C038C-0000-0000-C000-000000000046")
    MsoDebugOptions_UTRunResult : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Passed( 
            /* [retval][out] */ VARIANT_BOOL *Passed) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ErrorString( 
            /* [retval][out] */ BSTR *Error) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct MsoDebugOptions_UTRunResultVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            MsoDebugOptions_UTRunResult * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            MsoDebugOptions_UTRunResult * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            MsoDebugOptions_UTRunResult * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            MsoDebugOptions_UTRunResult * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            MsoDebugOptions_UTRunResult * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            MsoDebugOptions_UTRunResult * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            MsoDebugOptions_UTRunResult * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            MsoDebugOptions_UTRunResult * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            MsoDebugOptions_UTRunResult * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Passed )( 
            MsoDebugOptions_UTRunResult * This,
            /* [retval][out] */ VARIANT_BOOL *Passed);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ErrorString )( 
            MsoDebugOptions_UTRunResult * This,
            /* [retval][out] */ BSTR *Error);
        
        END_INTERFACE
    } MsoDebugOptions_UTRunResultVtbl;

    interface MsoDebugOptions_UTRunResult
    {
        CONST_VTBL struct MsoDebugOptions_UTRunResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define MsoDebugOptions_UTRunResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define MsoDebugOptions_UTRunResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define MsoDebugOptions_UTRunResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define MsoDebugOptions_UTRunResult_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define MsoDebugOptions_UTRunResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define MsoDebugOptions_UTRunResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define MsoDebugOptions_UTRunResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define MsoDebugOptions_UTRunResult_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define MsoDebugOptions_UTRunResult_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define MsoDebugOptions_UTRunResult_get_Passed(This,Passed)	\
    ( (This)->lpVtbl -> get_Passed(This,Passed) ) 

#define MsoDebugOptions_UTRunResult_get_ErrorString(This,Error)	\
    ( (This)->lpVtbl -> get_ErrorString(This,Error) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __MsoDebugOptions_UTRunResult_INTERFACE_DEFINED__ */


#ifndef __MsoDebugOptions_UT_INTERFACE_DEFINED__
#define __MsoDebugOptions_UT_INTERFACE_DEFINED__

/* interface MsoDebugOptions_UT */
/* [object][oleautomation][dual][hidden][uuid] */ 


extern "C++" const IID IID_MsoDebugOptions_UT;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C038B-0000-0000-C000-000000000046")
    MsoDebugOptions_UT : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CollectionName( 
            /* [retval][out] */ BSTR *pbstrColName) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Run( 
            /* [retval][out] */ MsoDebugOptions_UTRunResult **ppRunResult) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct MsoDebugOptions_UTVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            MsoDebugOptions_UT * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            MsoDebugOptions_UT * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            MsoDebugOptions_UT * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            MsoDebugOptions_UT * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            MsoDebugOptions_UT * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            MsoDebugOptions_UT * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            MsoDebugOptions_UT * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            MsoDebugOptions_UT * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            MsoDebugOptions_UT * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            MsoDebugOptions_UT * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CollectionName )( 
            MsoDebugOptions_UT * This,
            /* [retval][out] */ BSTR *pbstrColName);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Run )( 
            MsoDebugOptions_UT * This,
            /* [retval][out] */ MsoDebugOptions_UTRunResult **ppRunResult);
        
        END_INTERFACE
    } MsoDebugOptions_UTVtbl;

    interface MsoDebugOptions_UT
    {
        CONST_VTBL struct MsoDebugOptions_UTVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define MsoDebugOptions_UT_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define MsoDebugOptions_UT_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define MsoDebugOptions_UT_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define MsoDebugOptions_UT_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define MsoDebugOptions_UT_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define MsoDebugOptions_UT_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define MsoDebugOptions_UT_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define MsoDebugOptions_UT_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define MsoDebugOptions_UT_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define MsoDebugOptions_UT_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define MsoDebugOptions_UT_get_CollectionName(This,pbstrColName)	\
    ( (This)->lpVtbl -> get_CollectionName(This,pbstrColName) ) 

#define MsoDebugOptions_UT_Run(This,ppRunResult)	\
    ( (This)->lpVtbl -> Run(This,ppRunResult) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __MsoDebugOptions_UT_INTERFACE_DEFINED__ */


#ifndef __MsoDebugOptions_UTs_INTERFACE_DEFINED__
#define __MsoDebugOptions_UTs_INTERFACE_DEFINED__

/* interface MsoDebugOptions_UTs */
/* [object][oleautomation][dual][hidden][uuid] */ 


extern "C++" const IID IID_MsoDebugOptions_UTs;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C038A-0000-0000-C000-000000000046")
    MsoDebugOptions_UTs : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ MsoDebugOptions_UT **ppUnitTest) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *iCountRetVal) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetUnitTestsInCollection( 
            /* [in] */ BSTR bstrCollectionName,
            /* [retval][out] */ MsoDebugOptions_UTs **MsoDebugOptions_UTs) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetUnitTest( 
            /* [in] */ BSTR bstrCollectionName,
            /* [in] */ BSTR bstrUnitTestName,
            /* [retval][out] */ MsoDebugOptions_UT **MsoDebugOptions_UT) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetMatchingUnitTestsInCollection( 
            /* [in] */ BSTR bstrCollectionName,
            /* [in] */ BSTR bstrUnitTestNameFilter,
            /* [retval][out] */ MsoDebugOptions_UTs **MsoDebugOptions_UTs) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct MsoDebugOptions_UTsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            MsoDebugOptions_UTs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            MsoDebugOptions_UTs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            MsoDebugOptions_UTs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            MsoDebugOptions_UTs * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            MsoDebugOptions_UTs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            MsoDebugOptions_UTs * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            MsoDebugOptions_UTs * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            MsoDebugOptions_UTs * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            MsoDebugOptions_UTs * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            MsoDebugOptions_UTs * This,
            /* [in] */ int Index,
            /* [retval][out] */ MsoDebugOptions_UT **ppUnitTest);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            MsoDebugOptions_UTs * This,
            /* [retval][out] */ int *iCountRetVal);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            MsoDebugOptions_UTs * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetUnitTestsInCollection )( 
            MsoDebugOptions_UTs * This,
            /* [in] */ BSTR bstrCollectionName,
            /* [retval][out] */ MsoDebugOptions_UTs **MsoDebugOptions_UTs);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetUnitTest )( 
            MsoDebugOptions_UTs * This,
            /* [in] */ BSTR bstrCollectionName,
            /* [in] */ BSTR bstrUnitTestName,
            /* [retval][out] */ MsoDebugOptions_UT **MsoDebugOptions_UT);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetMatchingUnitTestsInCollection )( 
            MsoDebugOptions_UTs * This,
            /* [in] */ BSTR bstrCollectionName,
            /* [in] */ BSTR bstrUnitTestNameFilter,
            /* [retval][out] */ MsoDebugOptions_UTs **MsoDebugOptions_UTs);
        
        END_INTERFACE
    } MsoDebugOptions_UTsVtbl;

    interface MsoDebugOptions_UTs
    {
        CONST_VTBL struct MsoDebugOptions_UTsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define MsoDebugOptions_UTs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define MsoDebugOptions_UTs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define MsoDebugOptions_UTs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define MsoDebugOptions_UTs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define MsoDebugOptions_UTs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define MsoDebugOptions_UTs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define MsoDebugOptions_UTs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define MsoDebugOptions_UTs_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define MsoDebugOptions_UTs_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define MsoDebugOptions_UTs_get_Item(This,Index,ppUnitTest)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppUnitTest) ) 

#define MsoDebugOptions_UTs_get_Count(This,iCountRetVal)	\
    ( (This)->lpVtbl -> get_Count(This,iCountRetVal) ) 

#define MsoDebugOptions_UTs_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#define MsoDebugOptions_UTs_GetUnitTestsInCollection(This,bstrCollectionName,MsoDebugOptions_UTs)	\
    ( (This)->lpVtbl -> GetUnitTestsInCollection(This,bstrCollectionName,MsoDebugOptions_UTs) ) 

#define MsoDebugOptions_UTs_GetUnitTest(This,bstrCollectionName,bstrUnitTestName,MsoDebugOptions_UT)	\
    ( (This)->lpVtbl -> GetUnitTest(This,bstrCollectionName,bstrUnitTestName,MsoDebugOptions_UT) ) 

#define MsoDebugOptions_UTs_GetMatchingUnitTestsInCollection(This,bstrCollectionName,bstrUnitTestNameFilter,MsoDebugOptions_UTs)	\
    ( (This)->lpVtbl -> GetMatchingUnitTestsInCollection(This,bstrCollectionName,bstrUnitTestNameFilter,MsoDebugOptions_UTs) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __MsoDebugOptions_UTs_INTERFACE_DEFINED__ */


#ifndef __MsoDebugOptions_UTManager_INTERFACE_DEFINED__
#define __MsoDebugOptions_UTManager_INTERFACE_DEFINED__

/* interface MsoDebugOptions_UTManager */
/* [object][oleautomation][dual][hidden][uuid] */ 


extern "C++" const IID IID_MsoDebugOptions_UTManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0389-0000-0000-C000-000000000046")
    MsoDebugOptions_UTManager : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UnitTests( 
            /* [retval][out] */ MsoDebugOptions_UTs **ppMsoUnitTests) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE NotifyStartOfTestSuiteRun( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE NotifyEndOfTestSuiteRun( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ReportErrors( 
            /* [retval][out] */ VARIANT_BOOL *pfReportErrors) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ReportErrors( 
            /* [in] */ VARIANT_BOOL pfReportErrors) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct MsoDebugOptions_UTManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            MsoDebugOptions_UTManager * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            MsoDebugOptions_UTManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            MsoDebugOptions_UTManager * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            MsoDebugOptions_UTManager * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            MsoDebugOptions_UTManager * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            MsoDebugOptions_UTManager * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            MsoDebugOptions_UTManager * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            MsoDebugOptions_UTManager * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            MsoDebugOptions_UTManager * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UnitTests )( 
            MsoDebugOptions_UTManager * This,
            /* [retval][out] */ MsoDebugOptions_UTs **ppMsoUnitTests);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *NotifyStartOfTestSuiteRun )( 
            MsoDebugOptions_UTManager * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *NotifyEndOfTestSuiteRun )( 
            MsoDebugOptions_UTManager * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReportErrors )( 
            MsoDebugOptions_UTManager * This,
            /* [retval][out] */ VARIANT_BOOL *pfReportErrors);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ReportErrors )( 
            MsoDebugOptions_UTManager * This,
            /* [in] */ VARIANT_BOOL pfReportErrors);
        
        END_INTERFACE
    } MsoDebugOptions_UTManagerVtbl;

    interface MsoDebugOptions_UTManager
    {
        CONST_VTBL struct MsoDebugOptions_UTManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define MsoDebugOptions_UTManager_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define MsoDebugOptions_UTManager_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define MsoDebugOptions_UTManager_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define MsoDebugOptions_UTManager_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define MsoDebugOptions_UTManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define MsoDebugOptions_UTManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define MsoDebugOptions_UTManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define MsoDebugOptions_UTManager_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define MsoDebugOptions_UTManager_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define MsoDebugOptions_UTManager_get_UnitTests(This,ppMsoUnitTests)	\
    ( (This)->lpVtbl -> get_UnitTests(This,ppMsoUnitTests) ) 

#define MsoDebugOptions_UTManager_NotifyStartOfTestSuiteRun(This)	\
    ( (This)->lpVtbl -> NotifyStartOfTestSuiteRun(This) ) 

#define MsoDebugOptions_UTManager_NotifyEndOfTestSuiteRun(This)	\
    ( (This)->lpVtbl -> NotifyEndOfTestSuiteRun(This) ) 

#define MsoDebugOptions_UTManager_get_ReportErrors(This,pfReportErrors)	\
    ( (This)->lpVtbl -> get_ReportErrors(This,pfReportErrors) ) 

#define MsoDebugOptions_UTManager_put_ReportErrors(This,pfReportErrors)	\
    ( (This)->lpVtbl -> put_ReportErrors(This,pfReportErrors) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __MsoDebugOptions_UTManager_INTERFACE_DEFINED__ */


#ifndef __MetaProperty_INTERFACE_DEFINED__
#define __MetaProperty_INTERFACE_DEFINED__

/* interface MetaProperty */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_MetaProperty;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C038F-0000-0000-C000-000000000046")
    MetaProperty : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT *pvarValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ VARIANT pvarValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *pbstrID) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsReadOnly( 
            /* [retval][out] */ VARIANT_BOOL *pfReadOnly) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsRequired( 
            /* [retval][out] */ VARIANT_BOOL *pfRequired) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoMetaPropertyType *ptype) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Validate( 
            /* [retval][out] */ BSTR *pbstrError) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_ValidationError( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct MetaPropertyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            MetaProperty * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            MetaProperty * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            MetaProperty * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            MetaProperty * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            MetaProperty * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            MetaProperty * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            MetaProperty * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            MetaProperty * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            MetaProperty * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            MetaProperty * This,
            /* [retval][out] */ VARIANT *pvarValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            MetaProperty * This,
            /* [in] */ VARIANT pvarValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            MetaProperty * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            MetaProperty * This,
            /* [retval][out] */ BSTR *pbstrID);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsReadOnly )( 
            MetaProperty * This,
            /* [retval][out] */ VARIANT_BOOL *pfReadOnly);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsRequired )( 
            MetaProperty * This,
            /* [retval][out] */ VARIANT_BOOL *pfRequired);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            MetaProperty * This,
            /* [retval][out] */ MsoMetaPropertyType *ptype);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Validate )( 
            MetaProperty * This,
            /* [retval][out] */ BSTR *pbstrError);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ValidationError )( 
            MetaProperty * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            MetaProperty * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } MetaPropertyVtbl;

    interface MetaProperty
    {
        CONST_VTBL struct MetaPropertyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define MetaProperty_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define MetaProperty_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define MetaProperty_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define MetaProperty_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define MetaProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define MetaProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define MetaProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define MetaProperty_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define MetaProperty_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define MetaProperty_get_Value(This,pvarValue)	\
    ( (This)->lpVtbl -> get_Value(This,pvarValue) ) 

#define MetaProperty_put_Value(This,pvarValue)	\
    ( (This)->lpVtbl -> put_Value(This,pvarValue) ) 

#define MetaProperty_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define MetaProperty_get_Id(This,pbstrID)	\
    ( (This)->lpVtbl -> get_Id(This,pbstrID) ) 

#define MetaProperty_get_IsReadOnly(This,pfReadOnly)	\
    ( (This)->lpVtbl -> get_IsReadOnly(This,pfReadOnly) ) 

#define MetaProperty_get_IsRequired(This,pfRequired)	\
    ( (This)->lpVtbl -> get_IsRequired(This,pfRequired) ) 

#define MetaProperty_get_Type(This,ptype)	\
    ( (This)->lpVtbl -> get_Type(This,ptype) ) 

#define MetaProperty_Validate(This,pbstrError)	\
    ( (This)->lpVtbl -> Validate(This,pbstrError) ) 

#define MetaProperty_get_ValidationError(This,pbstr)	\
    ( (This)->lpVtbl -> get_ValidationError(This,pbstr) ) 

#define MetaProperty_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __MetaProperty_INTERFACE_DEFINED__ */


#ifndef __MetaProperties_INTERFACE_DEFINED__
#define __MetaProperties_INTERFACE_DEFINED__

/* interface MetaProperties */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_MetaProperties;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C038E-0000-0000-C000-000000000046")
    MetaProperties : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ MetaProperty **ppmp) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetItemByInternalName( 
            /* [in] */ BSTR InternalName,
            /* [retval][out] */ MetaProperty **ppmp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pc) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Validate( 
            /* [retval][out] */ BSTR *pbstrError) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_ValidationError( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SchemaXml( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct MetaPropertiesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            MetaProperties * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            MetaProperties * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            MetaProperties * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            MetaProperties * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            MetaProperties * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            MetaProperties * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            MetaProperties * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            MetaProperties * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            MetaProperties * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            MetaProperties * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ MetaProperty **ppmp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetItemByInternalName )( 
            MetaProperties * This,
            /* [in] */ BSTR InternalName,
            /* [retval][out] */ MetaProperty **ppmp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            MetaProperties * This,
            /* [retval][out] */ long *pc);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Validate )( 
            MetaProperties * This,
            /* [retval][out] */ BSTR *pbstrError);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ValidationError )( 
            MetaProperties * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            MetaProperties * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SchemaXml )( 
            MetaProperties * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            MetaProperties * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } MetaPropertiesVtbl;

    interface MetaProperties
    {
        CONST_VTBL struct MetaPropertiesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define MetaProperties_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define MetaProperties_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define MetaProperties_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define MetaProperties_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define MetaProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define MetaProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define MetaProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define MetaProperties_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define MetaProperties_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define MetaProperties_get_Item(This,Index,ppmp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppmp) ) 

#define MetaProperties_GetItemByInternalName(This,InternalName,ppmp)	\
    ( (This)->lpVtbl -> GetItemByInternalName(This,InternalName,ppmp) ) 

#define MetaProperties_get_Count(This,pc)	\
    ( (This)->lpVtbl -> get_Count(This,pc) ) 

#define MetaProperties_Validate(This,pbstrError)	\
    ( (This)->lpVtbl -> Validate(This,pbstrError) ) 

#define MetaProperties_get_ValidationError(This,pbstr)	\
    ( (This)->lpVtbl -> get_ValidationError(This,pbstr) ) 

#define MetaProperties_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#define MetaProperties_get_SchemaXml(This,pbstr)	\
    ( (This)->lpVtbl -> get_SchemaXml(This,pbstr) ) 

#define MetaProperties_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __MetaProperties_INTERFACE_DEFINED__ */


#ifndef __PolicyItem_INTERFACE_DEFINED__
#define __PolicyItem_INTERFACE_DEFINED__

/* interface PolicyItem */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_PolicyItem;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0391-0000-0000-C000-000000000046")
    PolicyItem : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *pbstrID) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *pbstrDescription) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Data( 
            /* [retval][out] */ BSTR *pbstrStatement) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PolicyItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PolicyItem * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PolicyItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PolicyItem * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PolicyItem * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PolicyItem * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PolicyItem * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PolicyItem * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PolicyItem * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PolicyItem * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            PolicyItem * This,
            /* [retval][out] */ BSTR *pbstrID);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            PolicyItem * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            PolicyItem * This,
            /* [retval][out] */ BSTR *pbstrDescription);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Data )( 
            PolicyItem * This,
            /* [retval][out] */ BSTR *pbstrStatement);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            PolicyItem * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } PolicyItemVtbl;

    interface PolicyItem
    {
        CONST_VTBL struct PolicyItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define PolicyItem_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define PolicyItem_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define PolicyItem_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define PolicyItem_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define PolicyItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define PolicyItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define PolicyItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define PolicyItem_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PolicyItem_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PolicyItem_get_Id(This,pbstrID)	\
    ( (This)->lpVtbl -> get_Id(This,pbstrID) ) 

#define PolicyItem_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define PolicyItem_get_Description(This,pbstrDescription)	\
    ( (This)->lpVtbl -> get_Description(This,pbstrDescription) ) 

#define PolicyItem_get_Data(This,pbstrStatement)	\
    ( (This)->lpVtbl -> get_Data(This,pbstrStatement) ) 

#define PolicyItem_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PolicyItem_INTERFACE_DEFINED__ */


#ifndef __ServerPolicy_INTERFACE_DEFINED__
#define __ServerPolicy_INTERFACE_DEFINED__

/* interface ServerPolicy */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_ServerPolicy;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0390-0000-0000-C000-000000000046")
    ServerPolicy : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ PolicyItem **pppi) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *pbstrID) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *pbstrDescription) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Statement( 
            /* [retval][out] */ BSTR *pbstrStatement) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pc) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BlockPreview( 
            /* [retval][out] */ VARIANT_BOOL *pfBlockPreview) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ServerPolicyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ServerPolicy * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ServerPolicy * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ServerPolicy * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ServerPolicy * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ServerPolicy * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ServerPolicy * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ServerPolicy * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ServerPolicy * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ServerPolicy * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ServerPolicy * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ PolicyItem **pppi);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            ServerPolicy * This,
            /* [retval][out] */ BSTR *pbstrID);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ServerPolicy * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            ServerPolicy * This,
            /* [retval][out] */ BSTR *pbstrDescription);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Statement )( 
            ServerPolicy * This,
            /* [retval][out] */ BSTR *pbstrStatement);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ServerPolicy * This,
            /* [retval][out] */ long *pc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BlockPreview )( 
            ServerPolicy * This,
            /* [retval][out] */ VARIANT_BOOL *pfBlockPreview);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ServerPolicy * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } ServerPolicyVtbl;

    interface ServerPolicy
    {
        CONST_VTBL struct ServerPolicyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ServerPolicy_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ServerPolicy_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ServerPolicy_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ServerPolicy_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ServerPolicy_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ServerPolicy_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ServerPolicy_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ServerPolicy_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ServerPolicy_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ServerPolicy_get_Item(This,Index,pppi)	\
    ( (This)->lpVtbl -> get_Item(This,Index,pppi) ) 

#define ServerPolicy_get_Id(This,pbstrID)	\
    ( (This)->lpVtbl -> get_Id(This,pbstrID) ) 

#define ServerPolicy_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define ServerPolicy_get_Description(This,pbstrDescription)	\
    ( (This)->lpVtbl -> get_Description(This,pbstrDescription) ) 

#define ServerPolicy_get_Statement(This,pbstrStatement)	\
    ( (This)->lpVtbl -> get_Statement(This,pbstrStatement) ) 

#define ServerPolicy_get_Count(This,pc)	\
    ( (This)->lpVtbl -> get_Count(This,pc) ) 

#define ServerPolicy_get_BlockPreview(This,pfBlockPreview)	\
    ( (This)->lpVtbl -> get_BlockPreview(This,pfBlockPreview) ) 

#define ServerPolicy_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ServerPolicy_INTERFACE_DEFINED__ */


#ifndef __DocumentInspector_INTERFACE_DEFINED__
#define __DocumentInspector_INTERFACE_DEFINED__

/* interface DocumentInspector */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_DocumentInspector;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0393-0000-0000-C000-000000000046")
    DocumentInspector : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *Description) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Inspect( 
            /* [out] */ MsoDocInspectorStatus *Status,
            /* [out] */ BSTR *Results) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Fix( 
            /* [out] */ MsoDocInspectorStatus *Status,
            /* [out] */ BSTR *Results) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct DocumentInspectorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            DocumentInspector * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            DocumentInspector * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            DocumentInspector * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            DocumentInspector * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            DocumentInspector * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            DocumentInspector * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DocumentInspector * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            DocumentInspector * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            DocumentInspector * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            DocumentInspector * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            DocumentInspector * This,
            /* [retval][out] */ BSTR *Description);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Inspect )( 
            DocumentInspector * This,
            /* [out] */ MsoDocInspectorStatus *Status,
            /* [out] */ BSTR *Results);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Fix )( 
            DocumentInspector * This,
            /* [out] */ MsoDocInspectorStatus *Status,
            /* [out] */ BSTR *Results);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            DocumentInspector * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } DocumentInspectorVtbl;

    interface DocumentInspector
    {
        CONST_VTBL struct DocumentInspectorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DocumentInspector_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DocumentInspector_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DocumentInspector_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DocumentInspector_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DocumentInspector_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DocumentInspector_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DocumentInspector_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define DocumentInspector_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define DocumentInspector_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define DocumentInspector_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define DocumentInspector_get_Description(This,Description)	\
    ( (This)->lpVtbl -> get_Description(This,Description) ) 

#define DocumentInspector_Inspect(This,Status,Results)	\
    ( (This)->lpVtbl -> Inspect(This,Status,Results) ) 

#define DocumentInspector_Fix(This,Status,Results)	\
    ( (This)->lpVtbl -> Fix(This,Status,Results) ) 

#define DocumentInspector_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __DocumentInspector_INTERFACE_DEFINED__ */


#ifndef __DocumentInspectors_INTERFACE_DEFINED__
#define __DocumentInspectors_INTERFACE_DEFINED__

/* interface DocumentInspectors */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_DocumentInspectors;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0392-0000-0000-C000-000000000046")
    DocumentInspectors : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ DocumentInspector **ppidisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *pcItems) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppidisp) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct DocumentInspectorsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            DocumentInspectors * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            DocumentInspectors * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            DocumentInspectors * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            DocumentInspectors * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            DocumentInspectors * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            DocumentInspectors * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            DocumentInspectors * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            DocumentInspectors * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            DocumentInspectors * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            DocumentInspectors * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            DocumentInspectors * This,
            /* [in] */ int Index,
            /* [retval][out] */ DocumentInspector **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            DocumentInspectors * This,
            /* [retval][out] */ int *pcItems);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            DocumentInspectors * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        END_INTERFACE
    } DocumentInspectorsVtbl;

    interface DocumentInspectors
    {
        CONST_VTBL struct DocumentInspectorsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define DocumentInspectors_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define DocumentInspectors_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define DocumentInspectors_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define DocumentInspectors_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define DocumentInspectors_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define DocumentInspectors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define DocumentInspectors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define DocumentInspectors_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define DocumentInspectors_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define DocumentInspectors_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define DocumentInspectors_get_Item(This,Index,ppidisp)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppidisp) ) 

#define DocumentInspectors_get_Count(This,pcItems)	\
    ( (This)->lpVtbl -> get_Count(This,pcItems) ) 

#define DocumentInspectors_get_Parent(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Parent(This,ppidisp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __DocumentInspectors_INTERFACE_DEFINED__ */


#ifndef __WorkflowTask_INTERFACE_DEFINED__
#define __WorkflowTask_INTERFACE_DEFINED__

/* interface WorkflowTask */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_WorkflowTask;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD900-0000-0000-C000-000000000046")
    WorkflowTask : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ListID( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_WorkflowID( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AssignedTo( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CreatedBy( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DueDate( 
            /* [retval][out] */ DATE *pdate) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CreatedDate( 
            /* [retval][out] */ DATE *pdate) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Show( 
            /* [retval][out] */ int *pRet) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct WorkflowTaskVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            WorkflowTask * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            WorkflowTask * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            WorkflowTask * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            WorkflowTask * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            WorkflowTask * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            WorkflowTask * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            WorkflowTask * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            WorkflowTask * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            WorkflowTask * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            WorkflowTask * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ListID )( 
            WorkflowTask * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WorkflowID )( 
            WorkflowTask * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            WorkflowTask * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            WorkflowTask * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AssignedTo )( 
            WorkflowTask * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CreatedBy )( 
            WorkflowTask * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DueDate )( 
            WorkflowTask * This,
            /* [retval][out] */ DATE *pdate);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CreatedDate )( 
            WorkflowTask * This,
            /* [retval][out] */ DATE *pdate);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Show )( 
            WorkflowTask * This,
            /* [retval][out] */ int *pRet);
        
        END_INTERFACE
    } WorkflowTaskVtbl;

    interface WorkflowTask
    {
        CONST_VTBL struct WorkflowTaskVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define WorkflowTask_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define WorkflowTask_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define WorkflowTask_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define WorkflowTask_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define WorkflowTask_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define WorkflowTask_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define WorkflowTask_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define WorkflowTask_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define WorkflowTask_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define WorkflowTask_get_Id(This,pbstr)	\
    ( (This)->lpVtbl -> get_Id(This,pbstr) ) 

#define WorkflowTask_get_ListID(This,pbstr)	\
    ( (This)->lpVtbl -> get_ListID(This,pbstr) ) 

#define WorkflowTask_get_WorkflowID(This,pbstr)	\
    ( (This)->lpVtbl -> get_WorkflowID(This,pbstr) ) 

#define WorkflowTask_get_Name(This,pbstr)	\
    ( (This)->lpVtbl -> get_Name(This,pbstr) ) 

#define WorkflowTask_get_Description(This,pbstr)	\
    ( (This)->lpVtbl -> get_Description(This,pbstr) ) 

#define WorkflowTask_get_AssignedTo(This,pbstr)	\
    ( (This)->lpVtbl -> get_AssignedTo(This,pbstr) ) 

#define WorkflowTask_get_CreatedBy(This,pbstr)	\
    ( (This)->lpVtbl -> get_CreatedBy(This,pbstr) ) 

#define WorkflowTask_get_DueDate(This,pdate)	\
    ( (This)->lpVtbl -> get_DueDate(This,pdate) ) 

#define WorkflowTask_get_CreatedDate(This,pdate)	\
    ( (This)->lpVtbl -> get_CreatedDate(This,pdate) ) 

#define WorkflowTask_Show(This,pRet)	\
    ( (This)->lpVtbl -> Show(This,pRet) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __WorkflowTask_INTERFACE_DEFINED__ */


#ifndef __WorkflowTasks_INTERFACE_DEFINED__
#define __WorkflowTasks_INTERFACE_DEFINED__

/* interface WorkflowTasks */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_WorkflowTasks;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD901-0000-0000-C000-000000000046")
    WorkflowTasks : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long Index,
            /* [retval][out] */ WorkflowTask **ppret) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct WorkflowTasksVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            WorkflowTasks * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            WorkflowTasks * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            WorkflowTasks * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            WorkflowTasks * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            WorkflowTasks * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            WorkflowTasks * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            WorkflowTasks * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            WorkflowTasks * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            WorkflowTasks * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            WorkflowTasks * This,
            /* [in] */ long Index,
            /* [retval][out] */ WorkflowTask **ppret);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            WorkflowTasks * This,
            /* [retval][out] */ long *pCount);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            WorkflowTasks * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } WorkflowTasksVtbl;

    interface WorkflowTasks
    {
        CONST_VTBL struct WorkflowTasksVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define WorkflowTasks_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define WorkflowTasks_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define WorkflowTasks_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define WorkflowTasks_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define WorkflowTasks_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define WorkflowTasks_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define WorkflowTasks_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define WorkflowTasks_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define WorkflowTasks_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define WorkflowTasks_get_Item(This,Index,ppret)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppret) ) 

#define WorkflowTasks_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define WorkflowTasks_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __WorkflowTasks_INTERFACE_DEFINED__ */


#ifndef __WorkflowTemplate_INTERFACE_DEFINED__
#define __WorkflowTemplate_INTERFACE_DEFINED__

/* interface WorkflowTemplate */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_WorkflowTemplate;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD902-0000-0000-C000-000000000046")
    WorkflowTemplate : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DocumentLibraryName( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DocumentLibraryURL( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Show( 
            /* [retval][out] */ int *pRet) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct WorkflowTemplateVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            WorkflowTemplate * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            WorkflowTemplate * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            WorkflowTemplate * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            WorkflowTemplate * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            WorkflowTemplate * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            WorkflowTemplate * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            WorkflowTemplate * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            WorkflowTemplate * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            WorkflowTemplate * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            WorkflowTemplate * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            WorkflowTemplate * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            WorkflowTemplate * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentLibraryName )( 
            WorkflowTemplate * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentLibraryURL )( 
            WorkflowTemplate * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Show )( 
            WorkflowTemplate * This,
            /* [retval][out] */ int *pRet);
        
        END_INTERFACE
    } WorkflowTemplateVtbl;

    interface WorkflowTemplate
    {
        CONST_VTBL struct WorkflowTemplateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define WorkflowTemplate_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define WorkflowTemplate_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define WorkflowTemplate_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define WorkflowTemplate_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define WorkflowTemplate_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define WorkflowTemplate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define WorkflowTemplate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define WorkflowTemplate_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define WorkflowTemplate_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define WorkflowTemplate_get_Id(This,pbstr)	\
    ( (This)->lpVtbl -> get_Id(This,pbstr) ) 

#define WorkflowTemplate_get_Name(This,pbstr)	\
    ( (This)->lpVtbl -> get_Name(This,pbstr) ) 

#define WorkflowTemplate_get_Description(This,pbstr)	\
    ( (This)->lpVtbl -> get_Description(This,pbstr) ) 

#define WorkflowTemplate_get_DocumentLibraryName(This,pbstr)	\
    ( (This)->lpVtbl -> get_DocumentLibraryName(This,pbstr) ) 

#define WorkflowTemplate_get_DocumentLibraryURL(This,pbstr)	\
    ( (This)->lpVtbl -> get_DocumentLibraryURL(This,pbstr) ) 

#define WorkflowTemplate_Show(This,pRet)	\
    ( (This)->lpVtbl -> Show(This,pRet) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __WorkflowTemplate_INTERFACE_DEFINED__ */


#ifndef __WorkflowTemplates_INTERFACE_DEFINED__
#define __WorkflowTemplates_INTERFACE_DEFINED__

/* interface WorkflowTemplates */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_WorkflowTemplates;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD903-0000-0000-C000-000000000046")
    WorkflowTemplates : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long Index,
            /* [retval][out] */ WorkflowTemplate **ppret) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct WorkflowTemplatesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            WorkflowTemplates * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            WorkflowTemplates * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            WorkflowTemplates * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            WorkflowTemplates * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            WorkflowTemplates * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            WorkflowTemplates * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            WorkflowTemplates * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            WorkflowTemplates * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            WorkflowTemplates * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            WorkflowTemplates * This,
            /* [in] */ long Index,
            /* [retval][out] */ WorkflowTemplate **ppret);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            WorkflowTemplates * This,
            /* [retval][out] */ long *pCount);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            WorkflowTemplates * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } WorkflowTemplatesVtbl;

    interface WorkflowTemplates
    {
        CONST_VTBL struct WorkflowTemplatesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define WorkflowTemplates_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define WorkflowTemplates_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define WorkflowTemplates_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define WorkflowTemplates_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define WorkflowTemplates_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define WorkflowTemplates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define WorkflowTemplates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define WorkflowTemplates_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define WorkflowTemplates_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define WorkflowTemplates_get_Item(This,Index,ppret)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppret) ) 

#define WorkflowTemplates_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define WorkflowTemplates_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __WorkflowTemplates_INTERFACE_DEFINED__ */


#ifndef __IDocumentInspector_INTERFACE_DEFINED__
#define __IDocumentInspector_INTERFACE_DEFINED__

/* interface IDocumentInspector */
/* [object][oleautomation][helpcontext][uuid] */ 


extern "C++" const IID IID_IDocumentInspector;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD706-0000-0000-C000-000000000046")
    IDocumentInspector : public IUnknown
    {
    public:
        virtual HRESULT __stdcall GetInfo( 
            /* [out] */ BSTR *Name,
            /* [out] */ BSTR *Desc) = 0;
        
        virtual HRESULT __stdcall Inspect( 
            /* [in] */ IDispatch *Doc,
            /* [out] */ MsoDocInspectorStatus *Status,
            /* [out] */ BSTR *Result,
            /* [out] */ BSTR *Action) = 0;
        
        virtual HRESULT __stdcall Fix( 
            /* [in] */ IDispatch *Doc,
            /* [in] */ long hwnd,
            /* [out] */ MsoDocInspectorStatus *Status,
            /* [out] */ BSTR *Result) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IDocumentInspectorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDocumentInspector * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDocumentInspector * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDocumentInspector * This);
        
        HRESULT ( __stdcall *GetInfo )( 
            IDocumentInspector * This,
            /* [out] */ BSTR *Name,
            /* [out] */ BSTR *Desc);
        
        HRESULT ( __stdcall *Inspect )( 
            IDocumentInspector * This,
            /* [in] */ IDispatch *Doc,
            /* [out] */ MsoDocInspectorStatus *Status,
            /* [out] */ BSTR *Result,
            /* [out] */ BSTR *Action);
        
        HRESULT ( __stdcall *Fix )( 
            IDocumentInspector * This,
            /* [in] */ IDispatch *Doc,
            /* [in] */ long hwnd,
            /* [out] */ MsoDocInspectorStatus *Status,
            /* [out] */ BSTR *Result);
        
        END_INTERFACE
    } IDocumentInspectorVtbl;

    interface IDocumentInspector
    {
        CONST_VTBL struct IDocumentInspectorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDocumentInspector_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDocumentInspector_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDocumentInspector_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDocumentInspector_GetInfo(This,Name,Desc)	\
    ( (This)->lpVtbl -> GetInfo(This,Name,Desc) ) 

#define IDocumentInspector_Inspect(This,Doc,Status,Result,Action)	\
    ( (This)->lpVtbl -> Inspect(This,Doc,Status,Result,Action) ) 

#define IDocumentInspector_Fix(This,Doc,hwnd,Status,Result)	\
    ( (This)->lpVtbl -> Fix(This,Doc,hwnd,Status,Result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDocumentInspector_INTERFACE_DEFINED__ */


#ifndef __SignatureSetup_INTERFACE_DEFINED__
#define __SignatureSetup_INTERFACE_DEFINED__

/* interface SignatureSetup */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SignatureSetup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD6A1-0000-0000-C000-000000000046")
    SignatureSetup : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( 
            /* [retval][out] */ VARIANT_BOOL *pvarf) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SignatureProvider( 
            /* [retval][out] */ BSTR *pbstrSigProv) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SuggestedSigner( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SuggestedSigner( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SuggestedSignerLine2( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SuggestedSignerLine2( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SuggestedSignerEmail( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SuggestedSignerEmail( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SigningInstructions( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SigningInstructions( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AllowComments( 
            /* [retval][out] */ VARIANT_BOOL *pvarf) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AllowComments( 
            /* [in] */ VARIANT_BOOL pvarf) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ShowSignDate( 
            /* [retval][out] */ VARIANT_BOOL *pvarf) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ShowSignDate( 
            /* [in] */ VARIANT_BOOL pvarf) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AdditionalXml( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AdditionalXml( 
            /* [in] */ BSTR pbstr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SignatureSetupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SignatureSetup * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SignatureSetup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SignatureSetup * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SignatureSetup * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SignatureSetup * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SignatureSetup * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SignatureSetup * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SignatureSetup * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SignatureSetup * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( 
            SignatureSetup * This,
            /* [retval][out] */ VARIANT_BOOL *pvarf);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            SignatureSetup * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SignatureProvider )( 
            SignatureSetup * This,
            /* [retval][out] */ BSTR *pbstrSigProv);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SuggestedSigner )( 
            SignatureSetup * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SuggestedSigner )( 
            SignatureSetup * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SuggestedSignerLine2 )( 
            SignatureSetup * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SuggestedSignerLine2 )( 
            SignatureSetup * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SuggestedSignerEmail )( 
            SignatureSetup * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SuggestedSignerEmail )( 
            SignatureSetup * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SigningInstructions )( 
            SignatureSetup * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SigningInstructions )( 
            SignatureSetup * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AllowComments )( 
            SignatureSetup * This,
            /* [retval][out] */ VARIANT_BOOL *pvarf);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AllowComments )( 
            SignatureSetup * This,
            /* [in] */ VARIANT_BOOL pvarf);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShowSignDate )( 
            SignatureSetup * This,
            /* [retval][out] */ VARIANT_BOOL *pvarf);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShowSignDate )( 
            SignatureSetup * This,
            /* [in] */ VARIANT_BOOL pvarf);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionalXml )( 
            SignatureSetup * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AdditionalXml )( 
            SignatureSetup * This,
            /* [in] */ BSTR pbstr);
        
        END_INTERFACE
    } SignatureSetupVtbl;

    interface SignatureSetup
    {
        CONST_VTBL struct SignatureSetupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SignatureSetup_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SignatureSetup_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SignatureSetup_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SignatureSetup_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SignatureSetup_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SignatureSetup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SignatureSetup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SignatureSetup_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SignatureSetup_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SignatureSetup_get_ReadOnly(This,pvarf)	\
    ( (This)->lpVtbl -> get_ReadOnly(This,pvarf) ) 

#define SignatureSetup_get_Id(This,pbstr)	\
    ( (This)->lpVtbl -> get_Id(This,pbstr) ) 

#define SignatureSetup_get_SignatureProvider(This,pbstrSigProv)	\
    ( (This)->lpVtbl -> get_SignatureProvider(This,pbstrSigProv) ) 

#define SignatureSetup_get_SuggestedSigner(This,pbstr)	\
    ( (This)->lpVtbl -> get_SuggestedSigner(This,pbstr) ) 

#define SignatureSetup_put_SuggestedSigner(This,pbstr)	\
    ( (This)->lpVtbl -> put_SuggestedSigner(This,pbstr) ) 

#define SignatureSetup_get_SuggestedSignerLine2(This,pbstr)	\
    ( (This)->lpVtbl -> get_SuggestedSignerLine2(This,pbstr) ) 

#define SignatureSetup_put_SuggestedSignerLine2(This,pbstr)	\
    ( (This)->lpVtbl -> put_SuggestedSignerLine2(This,pbstr) ) 

#define SignatureSetup_get_SuggestedSignerEmail(This,pbstr)	\
    ( (This)->lpVtbl -> get_SuggestedSignerEmail(This,pbstr) ) 

#define SignatureSetup_put_SuggestedSignerEmail(This,pbstr)	\
    ( (This)->lpVtbl -> put_SuggestedSignerEmail(This,pbstr) ) 

#define SignatureSetup_get_SigningInstructions(This,pbstr)	\
    ( (This)->lpVtbl -> get_SigningInstructions(This,pbstr) ) 

#define SignatureSetup_put_SigningInstructions(This,pbstr)	\
    ( (This)->lpVtbl -> put_SigningInstructions(This,pbstr) ) 

#define SignatureSetup_get_AllowComments(This,pvarf)	\
    ( (This)->lpVtbl -> get_AllowComments(This,pvarf) ) 

#define SignatureSetup_put_AllowComments(This,pvarf)	\
    ( (This)->lpVtbl -> put_AllowComments(This,pvarf) ) 

#define SignatureSetup_get_ShowSignDate(This,pvarf)	\
    ( (This)->lpVtbl -> get_ShowSignDate(This,pvarf) ) 

#define SignatureSetup_put_ShowSignDate(This,pvarf)	\
    ( (This)->lpVtbl -> put_ShowSignDate(This,pvarf) ) 

#define SignatureSetup_get_AdditionalXml(This,pbstr)	\
    ( (This)->lpVtbl -> get_AdditionalXml(This,pbstr) ) 

#define SignatureSetup_put_AdditionalXml(This,pbstr)	\
    ( (This)->lpVtbl -> put_AdditionalXml(This,pbstr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SignatureSetup_INTERFACE_DEFINED__ */


#ifndef __SignatureInfo_INTERFACE_DEFINED__
#define __SignatureInfo_INTERFACE_DEFINED__

/* interface SignatureInfo */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SignatureInfo;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD6A2-0000-0000-C000-000000000046")
    SignatureInfo : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( 
            /* [retval][out] */ VARIANT_BOOL *pvarf) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SignatureProvider( 
            /* [retval][out] */ BSTR *pbstrSigProv) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SignatureText( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SignatureText( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SignatureImage( 
            /* [retval][out] */ /* external definition not present */ IPictureDisp **ppipictdisp) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SignatureImage( 
            /* [in] */ /* external definition not present */ IPictureDisp *ppipictdisp) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SignatureComment( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SignatureComment( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetSignatureDetail( 
            /* [in] */ SignatureDetail sigdet,
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCertificateDetail( 
            /* [in] */ CertificateDetail certdet,
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ContentVerificationResults( 
            /* [retval][out] */ ContentVerificationResults *pcontverres) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CertificateVerificationResults( 
            /* [retval][out] */ CertificateVerificationResults *pcertverres) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsValid( 
            /* [retval][out] */ VARIANT_BOOL *pvarfValid) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsCertificateExpired( 
            /* [retval][out] */ VARIANT_BOOL *pvarfExpired) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsCertificateRevoked( 
            /* [retval][out] */ VARIANT_BOOL *pvarfRevoked) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsCertificateUntrusted( 
            /* [retval][out] */ VARIANT_BOOL *pvarfUntrusted) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ShowSignatureCertificate( 
            /* [in] */ IUnknown *ParentWindow) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectSignatureCertificate( 
            /* [in] */ IUnknown *ParentWindow) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectCertificateDetailByThumbprint( 
            /* [in] */ BSTR bstrThumbprint) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SignatureInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SignatureInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SignatureInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SignatureInfo * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SignatureInfo * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SignatureInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SignatureInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SignatureInfo * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SignatureInfo * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SignatureInfo * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( 
            SignatureInfo * This,
            /* [retval][out] */ VARIANT_BOOL *pvarf);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SignatureProvider )( 
            SignatureInfo * This,
            /* [retval][out] */ BSTR *pbstrSigProv);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SignatureText )( 
            SignatureInfo * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SignatureText )( 
            SignatureInfo * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SignatureImage )( 
            SignatureInfo * This,
            /* [retval][out] */ /* external definition not present */ IPictureDisp **ppipictdisp);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SignatureImage )( 
            SignatureInfo * This,
            /* [in] */ /* external definition not present */ IPictureDisp *ppipictdisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SignatureComment )( 
            SignatureInfo * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SignatureComment )( 
            SignatureInfo * This,
            /* [in] */ BSTR pbstr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetSignatureDetail )( 
            SignatureInfo * This,
            /* [in] */ SignatureDetail sigdet,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCertificateDetail )( 
            SignatureInfo * This,
            /* [in] */ CertificateDetail certdet,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContentVerificationResults )( 
            SignatureInfo * This,
            /* [retval][out] */ ContentVerificationResults *pcontverres);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CertificateVerificationResults )( 
            SignatureInfo * This,
            /* [retval][out] */ CertificateVerificationResults *pcertverres);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsValid )( 
            SignatureInfo * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfValid);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsCertificateExpired )( 
            SignatureInfo * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfExpired);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsCertificateRevoked )( 
            SignatureInfo * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfRevoked);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsCertificateUntrusted )( 
            SignatureInfo * This,
            /* [retval][out] */ VARIANT_BOOL *pvarfUntrusted);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ShowSignatureCertificate )( 
            SignatureInfo * This,
            /* [in] */ IUnknown *ParentWindow);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectSignatureCertificate )( 
            SignatureInfo * This,
            /* [in] */ IUnknown *ParentWindow);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectCertificateDetailByThumbprint )( 
            SignatureInfo * This,
            /* [in] */ BSTR bstrThumbprint);
        
        END_INTERFACE
    } SignatureInfoVtbl;

    interface SignatureInfo
    {
        CONST_VTBL struct SignatureInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SignatureInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SignatureInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SignatureInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SignatureInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SignatureInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SignatureInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SignatureInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SignatureInfo_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SignatureInfo_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SignatureInfo_get_ReadOnly(This,pvarf)	\
    ( (This)->lpVtbl -> get_ReadOnly(This,pvarf) ) 

#define SignatureInfo_get_SignatureProvider(This,pbstrSigProv)	\
    ( (This)->lpVtbl -> get_SignatureProvider(This,pbstrSigProv) ) 

#define SignatureInfo_get_SignatureText(This,pbstr)	\
    ( (This)->lpVtbl -> get_SignatureText(This,pbstr) ) 

#define SignatureInfo_put_SignatureText(This,pbstr)	\
    ( (This)->lpVtbl -> put_SignatureText(This,pbstr) ) 

#define SignatureInfo_get_SignatureImage(This,ppipictdisp)	\
    ( (This)->lpVtbl -> get_SignatureImage(This,ppipictdisp) ) 

#define SignatureInfo_put_SignatureImage(This,ppipictdisp)	\
    ( (This)->lpVtbl -> put_SignatureImage(This,ppipictdisp) ) 

#define SignatureInfo_get_SignatureComment(This,pbstr)	\
    ( (This)->lpVtbl -> get_SignatureComment(This,pbstr) ) 

#define SignatureInfo_put_SignatureComment(This,pbstr)	\
    ( (This)->lpVtbl -> put_SignatureComment(This,pbstr) ) 

#define SignatureInfo_GetSignatureDetail(This,sigdet,pvar)	\
    ( (This)->lpVtbl -> GetSignatureDetail(This,sigdet,pvar) ) 

#define SignatureInfo_GetCertificateDetail(This,certdet,pvar)	\
    ( (This)->lpVtbl -> GetCertificateDetail(This,certdet,pvar) ) 

#define SignatureInfo_get_ContentVerificationResults(This,pcontverres)	\
    ( (This)->lpVtbl -> get_ContentVerificationResults(This,pcontverres) ) 

#define SignatureInfo_get_CertificateVerificationResults(This,pcertverres)	\
    ( (This)->lpVtbl -> get_CertificateVerificationResults(This,pcertverres) ) 

#define SignatureInfo_get_IsValid(This,pvarfValid)	\
    ( (This)->lpVtbl -> get_IsValid(This,pvarfValid) ) 

#define SignatureInfo_get_IsCertificateExpired(This,pvarfExpired)	\
    ( (This)->lpVtbl -> get_IsCertificateExpired(This,pvarfExpired) ) 

#define SignatureInfo_get_IsCertificateRevoked(This,pvarfRevoked)	\
    ( (This)->lpVtbl -> get_IsCertificateRevoked(This,pvarfRevoked) ) 

#define SignatureInfo_get_IsCertificateUntrusted(This,pvarfUntrusted)	\
    ( (This)->lpVtbl -> get_IsCertificateUntrusted(This,pvarfUntrusted) ) 

#define SignatureInfo_ShowSignatureCertificate(This,ParentWindow)	\
    ( (This)->lpVtbl -> ShowSignatureCertificate(This,ParentWindow) ) 

#define SignatureInfo_SelectSignatureCertificate(This,ParentWindow)	\
    ( (This)->lpVtbl -> SelectSignatureCertificate(This,ParentWindow) ) 

#define SignatureInfo_SelectCertificateDetailByThumbprint(This,bstrThumbprint)	\
    ( (This)->lpVtbl -> SelectCertificateDetailByThumbprint(This,bstrThumbprint) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SignatureInfo_INTERFACE_DEFINED__ */


#ifndef __SignatureProvider_INTERFACE_DEFINED__
#define __SignatureProvider_INTERFACE_DEFINED__

/* interface SignatureProvider */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_SignatureProvider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD6A3-0000-0000-C000-000000000046")
    SignatureProvider : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GenerateSignatureLineImage( 
            /* [in] */ SignatureLineImage siglnimg,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo,
            /* [in] */ IUnknown *XmlDsigStream,
            /* [retval][out] */ /* external definition not present */ IPictureDisp **ppipictdisp) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ShowSignatureSetup( 
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ SignatureSetup *psigsetup) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ShowSigningCeremony( 
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SignXmlDsig( 
            /* [in] */ IUnknown *QueryContinue,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo,
            /* [in] */ IUnknown *XmlDsigStream) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE NotifySignatureAdded( 
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE VerifyXmlDsig( 
            /* [in] */ IUnknown *QueryContinue,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo,
            /* [in] */ IUnknown *XmlDsigStream,
            /* [out][in] */ ContentVerificationResults *pcontverres,
            /* [out][in] */ CertificateVerificationResults *pcertverres) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ShowSignatureDetails( 
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo,
            /* [in] */ IUnknown *XmlDsigStream,
            /* [out][in] */ ContentVerificationResults *pcontverres,
            /* [out][in] */ CertificateVerificationResults *pcertverres) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetProviderDetail( 
            /* [in] */ SignatureProviderDetail sigprovdet,
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE HashStream( 
            /* [in] */ IUnknown *QueryContinue,
            /* [in] */ IUnknown *Stream,
            /* [retval][out] */ SAFEARRAY * *ppsargb) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SignatureProviderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SignatureProvider * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SignatureProvider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SignatureProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SignatureProvider * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SignatureProvider * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SignatureProvider * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SignatureProvider * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GenerateSignatureLineImage )( 
            SignatureProvider * This,
            /* [in] */ SignatureLineImage siglnimg,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo,
            /* [in] */ IUnknown *XmlDsigStream,
            /* [retval][out] */ /* external definition not present */ IPictureDisp **ppipictdisp);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ShowSignatureSetup )( 
            SignatureProvider * This,
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ SignatureSetup *psigsetup);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ShowSigningCeremony )( 
            SignatureProvider * This,
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SignXmlDsig )( 
            SignatureProvider * This,
            /* [in] */ IUnknown *QueryContinue,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo,
            /* [in] */ IUnknown *XmlDsigStream);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *NotifySignatureAdded )( 
            SignatureProvider * This,
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *VerifyXmlDsig )( 
            SignatureProvider * This,
            /* [in] */ IUnknown *QueryContinue,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo,
            /* [in] */ IUnknown *XmlDsigStream,
            /* [out][in] */ ContentVerificationResults *pcontverres,
            /* [out][in] */ CertificateVerificationResults *pcertverres);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ShowSignatureDetails )( 
            SignatureProvider * This,
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ SignatureSetup *psigsetup,
            /* [in] */ SignatureInfo *psiginfo,
            /* [in] */ IUnknown *XmlDsigStream,
            /* [out][in] */ ContentVerificationResults *pcontverres,
            /* [out][in] */ CertificateVerificationResults *pcertverres);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetProviderDetail )( 
            SignatureProvider * This,
            /* [in] */ SignatureProviderDetail sigprovdet,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *HashStream )( 
            SignatureProvider * This,
            /* [in] */ IUnknown *QueryContinue,
            /* [in] */ IUnknown *Stream,
            /* [retval][out] */ SAFEARRAY * *ppsargb);
        
        END_INTERFACE
    } SignatureProviderVtbl;

    interface SignatureProvider
    {
        CONST_VTBL struct SignatureProviderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SignatureProvider_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SignatureProvider_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SignatureProvider_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SignatureProvider_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SignatureProvider_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SignatureProvider_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SignatureProvider_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SignatureProvider_GenerateSignatureLineImage(This,siglnimg,psigsetup,psiginfo,XmlDsigStream,ppipictdisp)	\
    ( (This)->lpVtbl -> GenerateSignatureLineImage(This,siglnimg,psigsetup,psiginfo,XmlDsigStream,ppipictdisp) ) 

#define SignatureProvider_ShowSignatureSetup(This,ParentWindow,psigsetup)	\
    ( (This)->lpVtbl -> ShowSignatureSetup(This,ParentWindow,psigsetup) ) 

#define SignatureProvider_ShowSigningCeremony(This,ParentWindow,psigsetup,psiginfo)	\
    ( (This)->lpVtbl -> ShowSigningCeremony(This,ParentWindow,psigsetup,psiginfo) ) 

#define SignatureProvider_SignXmlDsig(This,QueryContinue,psigsetup,psiginfo,XmlDsigStream)	\
    ( (This)->lpVtbl -> SignXmlDsig(This,QueryContinue,psigsetup,psiginfo,XmlDsigStream) ) 

#define SignatureProvider_NotifySignatureAdded(This,ParentWindow,psigsetup,psiginfo)	\
    ( (This)->lpVtbl -> NotifySignatureAdded(This,ParentWindow,psigsetup,psiginfo) ) 

#define SignatureProvider_VerifyXmlDsig(This,QueryContinue,psigsetup,psiginfo,XmlDsigStream,pcontverres,pcertverres)	\
    ( (This)->lpVtbl -> VerifyXmlDsig(This,QueryContinue,psigsetup,psiginfo,XmlDsigStream,pcontverres,pcertverres) ) 

#define SignatureProvider_ShowSignatureDetails(This,ParentWindow,psigsetup,psiginfo,XmlDsigStream,pcontverres,pcertverres)	\
    ( (This)->lpVtbl -> ShowSignatureDetails(This,ParentWindow,psigsetup,psiginfo,XmlDsigStream,pcontverres,pcertverres) ) 

#define SignatureProvider_GetProviderDetail(This,sigprovdet,pvar)	\
    ( (This)->lpVtbl -> GetProviderDetail(This,sigprovdet,pvar) ) 

#define SignatureProvider_HashStream(This,QueryContinue,Stream,ppsargb)	\
    ( (This)->lpVtbl -> HashStream(This,QueryContinue,Stream,ppsargb) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SignatureProvider_INTERFACE_DEFINED__ */


#ifndef __CustomXMLPrefixMapping_INTERFACE_DEFINED__
#define __CustomXMLPrefixMapping_INTERFACE_DEFINED__

/* interface CustomXMLPrefixMapping */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CustomXMLPrefixMapping;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB10-0000-0000-C000-000000000046")
    CustomXMLPrefixMapping : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Prefix( 
            /* [retval][out] */ BSTR *pbstrPrefix) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NamespaceURI( 
            /* [retval][out] */ BSTR *pbstrNamespaceURI) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CustomXMLPrefixMappingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CustomXMLPrefixMapping * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CustomXMLPrefixMapping * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CustomXMLPrefixMapping * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CustomXMLPrefixMapping * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CustomXMLPrefixMapping * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CustomXMLPrefixMapping * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CustomXMLPrefixMapping * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CustomXMLPrefixMapping * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CustomXMLPrefixMapping * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CustomXMLPrefixMapping * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Prefix )( 
            CustomXMLPrefixMapping * This,
            /* [retval][out] */ BSTR *pbstrPrefix);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NamespaceURI )( 
            CustomXMLPrefixMapping * This,
            /* [retval][out] */ BSTR *pbstrNamespaceURI);
        
        END_INTERFACE
    } CustomXMLPrefixMappingVtbl;

    interface CustomXMLPrefixMapping
    {
        CONST_VTBL struct CustomXMLPrefixMappingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define CustomXMLPrefixMapping_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define CustomXMLPrefixMapping_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define CustomXMLPrefixMapping_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define CustomXMLPrefixMapping_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define CustomXMLPrefixMapping_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define CustomXMLPrefixMapping_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define CustomXMLPrefixMapping_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define CustomXMLPrefixMapping_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CustomXMLPrefixMapping_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CustomXMLPrefixMapping_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#define CustomXMLPrefixMapping_get_Prefix(This,pbstrPrefix)	\
    ( (This)->lpVtbl -> get_Prefix(This,pbstrPrefix) ) 

#define CustomXMLPrefixMapping_get_NamespaceURI(This,pbstrNamespaceURI)	\
    ( (This)->lpVtbl -> get_NamespaceURI(This,pbstrNamespaceURI) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CustomXMLPrefixMapping_INTERFACE_DEFINED__ */


#ifndef __CustomXMLPrefixMappings_INTERFACE_DEFINED__
#define __CustomXMLPrefixMappings_INTERFACE_DEFINED__

/* interface CustomXMLPrefixMappings */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CustomXMLPrefixMappings;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB00-0000-0000-C000-000000000046")
    CustomXMLPrefixMappings : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ CustomXMLPrefixMapping **ppPrefixMapping) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddNamespace( 
            /* [in] */ BSTR Prefix,
            /* [in] */ BSTR NamespaceURI) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE LookupNamespace( 
            /* [in] */ BSTR Prefix,
            /* [retval][out] */ BSTR *pbstrNamespaceURI) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE LookupPrefix( 
            /* [in] */ BSTR NamespaceURI,
            /* [retval][out] */ BSTR *pbstrPrefix) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CustomXMLPrefixMappingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CustomXMLPrefixMappings * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CustomXMLPrefixMappings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CustomXMLPrefixMappings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CustomXMLPrefixMappings * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CustomXMLPrefixMappings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CustomXMLPrefixMappings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CustomXMLPrefixMappings * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CustomXMLPrefixMappings * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CustomXMLPrefixMappings * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CustomXMLPrefixMappings * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            CustomXMLPrefixMappings * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            CustomXMLPrefixMappings * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ CustomXMLPrefixMapping **ppPrefixMapping);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddNamespace )( 
            CustomXMLPrefixMappings * This,
            /* [in] */ BSTR Prefix,
            /* [in] */ BSTR NamespaceURI);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *LookupNamespace )( 
            CustomXMLPrefixMappings * This,
            /* [in] */ BSTR Prefix,
            /* [retval][out] */ BSTR *pbstrNamespaceURI);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *LookupPrefix )( 
            CustomXMLPrefixMappings * This,
            /* [in] */ BSTR NamespaceURI,
            /* [retval][out] */ BSTR *pbstrPrefix);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            CustomXMLPrefixMappings * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } CustomXMLPrefixMappingsVtbl;

    interface CustomXMLPrefixMappings
    {
        CONST_VTBL struct CustomXMLPrefixMappingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define CustomXMLPrefixMappings_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define CustomXMLPrefixMappings_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define CustomXMLPrefixMappings_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define CustomXMLPrefixMappings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define CustomXMLPrefixMappings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define CustomXMLPrefixMappings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define CustomXMLPrefixMappings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define CustomXMLPrefixMappings_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CustomXMLPrefixMappings_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CustomXMLPrefixMappings_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#define CustomXMLPrefixMappings_get_Count(This,plCount)	\
    ( (This)->lpVtbl -> get_Count(This,plCount) ) 

#define CustomXMLPrefixMappings_get_Item(This,Index,ppPrefixMapping)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppPrefixMapping) ) 

#define CustomXMLPrefixMappings_AddNamespace(This,Prefix,NamespaceURI)	\
    ( (This)->lpVtbl -> AddNamespace(This,Prefix,NamespaceURI) ) 

#define CustomXMLPrefixMappings_LookupNamespace(This,Prefix,pbstrNamespaceURI)	\
    ( (This)->lpVtbl -> LookupNamespace(This,Prefix,pbstrNamespaceURI) ) 

#define CustomXMLPrefixMappings_LookupPrefix(This,NamespaceURI,pbstrPrefix)	\
    ( (This)->lpVtbl -> LookupPrefix(This,NamespaceURI,pbstrPrefix) ) 

#define CustomXMLPrefixMappings_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CustomXMLPrefixMappings_INTERFACE_DEFINED__ */


#ifndef __CustomXMLSchema_INTERFACE_DEFINED__
#define __CustomXMLSchema_INTERFACE_DEFINED__

/* interface CustomXMLSchema */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CustomXMLSchema;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB01-0000-0000-C000-000000000046")
    CustomXMLSchema : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Location( 
            /* [retval][out] */ BSTR *pbstrLocation) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NamespaceURI( 
            /* [retval][out] */ BSTR *pbstrNamespaceURI) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Reload( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CustomXMLSchemaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CustomXMLSchema * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CustomXMLSchema * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CustomXMLSchema * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CustomXMLSchema * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CustomXMLSchema * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CustomXMLSchema * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CustomXMLSchema * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CustomXMLSchema * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CustomXMLSchema * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CustomXMLSchema * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Location )( 
            CustomXMLSchema * This,
            /* [retval][out] */ BSTR *pbstrLocation);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NamespaceURI )( 
            CustomXMLSchema * This,
            /* [retval][out] */ BSTR *pbstrNamespaceURI);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            CustomXMLSchema * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
            CustomXMLSchema * This);
        
        END_INTERFACE
    } CustomXMLSchemaVtbl;

    interface CustomXMLSchema
    {
        CONST_VTBL struct CustomXMLSchemaVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define CustomXMLSchema_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define CustomXMLSchema_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define CustomXMLSchema_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define CustomXMLSchema_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define CustomXMLSchema_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define CustomXMLSchema_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define CustomXMLSchema_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define CustomXMLSchema_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CustomXMLSchema_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CustomXMLSchema_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#define CustomXMLSchema_get_Location(This,pbstrLocation)	\
    ( (This)->lpVtbl -> get_Location(This,pbstrLocation) ) 

#define CustomXMLSchema_get_NamespaceURI(This,pbstrNamespaceURI)	\
    ( (This)->lpVtbl -> get_NamespaceURI(This,pbstrNamespaceURI) ) 

#define CustomXMLSchema_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define CustomXMLSchema_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CustomXMLSchema_INTERFACE_DEFINED__ */


#ifndef ___CustomXMLSchemaCollection_INTERFACE_DEFINED__
#define ___CustomXMLSchemaCollection_INTERFACE_DEFINED__

/* interface _CustomXMLSchemaCollection */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID__CustomXMLSchemaCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB02-0000-0000-C000-000000000046")
    _CustomXMLSchemaCollection : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ CustomXMLSchema **ppSchema) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NamespaceURI( 
            /* [in] */ long Index,
            /* [retval][out] */ BSTR *pbstrNamespaceURI) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [defaultvalue][optional][in] */ BSTR NamespaceURI,
            /* [defaultvalue][optional][in] */ BSTR Alias,
            /* [defaultvalue][optional][in] */ BSTR FileName,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL InstallForAllUsers,
            /* [retval][out] */ CustomXMLSchema **ppSchema) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddCollection( 
            /* [in] */ CustomXMLSchemaCollection	*SchemaCollection) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Validate( 
            /* [retval][out] */ VARIANT_BOOL *pfResult) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct _CustomXMLSchemaCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CustomXMLSchemaCollection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CustomXMLSchemaCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CustomXMLSchemaCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CustomXMLSchemaCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CustomXMLSchemaCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CustomXMLSchemaCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CustomXMLSchemaCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            _CustomXMLSchemaCollection * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            _CustomXMLSchemaCollection * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            _CustomXMLSchemaCollection * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            _CustomXMLSchemaCollection * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            _CustomXMLSchemaCollection * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ CustomXMLSchema **ppSchema);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NamespaceURI )( 
            _CustomXMLSchemaCollection * This,
            /* [in] */ long Index,
            /* [retval][out] */ BSTR *pbstrNamespaceURI);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            _CustomXMLSchemaCollection * This,
            /* [defaultvalue][optional][in] */ BSTR NamespaceURI,
            /* [defaultvalue][optional][in] */ BSTR Alias,
            /* [defaultvalue][optional][in] */ BSTR FileName,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL InstallForAllUsers,
            /* [retval][out] */ CustomXMLSchema **ppSchema);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCollection )( 
            _CustomXMLSchemaCollection * This,
            /* [in] */ CustomXMLSchemaCollection	*SchemaCollection);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Validate )( 
            _CustomXMLSchemaCollection * This,
            /* [retval][out] */ VARIANT_BOOL *pfResult);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            _CustomXMLSchemaCollection * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } _CustomXMLSchemaCollectionVtbl;

    interface _CustomXMLSchemaCollection
    {
        CONST_VTBL struct _CustomXMLSchemaCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _CustomXMLSchemaCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _CustomXMLSchemaCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _CustomXMLSchemaCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _CustomXMLSchemaCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _CustomXMLSchemaCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _CustomXMLSchemaCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _CustomXMLSchemaCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define _CustomXMLSchemaCollection_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define _CustomXMLSchemaCollection_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define _CustomXMLSchemaCollection_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#define _CustomXMLSchemaCollection_get_Count(This,plCount)	\
    ( (This)->lpVtbl -> get_Count(This,plCount) ) 

#define _CustomXMLSchemaCollection_get_Item(This,Index,ppSchema)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppSchema) ) 

#define _CustomXMLSchemaCollection_get_NamespaceURI(This,Index,pbstrNamespaceURI)	\
    ( (This)->lpVtbl -> get_NamespaceURI(This,Index,pbstrNamespaceURI) ) 

#define _CustomXMLSchemaCollection_Add(This,NamespaceURI,Alias,FileName,InstallForAllUsers,ppSchema)	\
    ( (This)->lpVtbl -> Add(This,NamespaceURI,Alias,FileName,InstallForAllUsers,ppSchema) ) 

#define _CustomXMLSchemaCollection_AddCollection(This,SchemaCollection)	\
    ( (This)->lpVtbl -> AddCollection(This,SchemaCollection) ) 

#define _CustomXMLSchemaCollection_Validate(This,pfResult)	\
    ( (This)->lpVtbl -> Validate(This,pfResult) ) 

#define _CustomXMLSchemaCollection_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ___CustomXMLSchemaCollection_INTERFACE_DEFINED__ */


#ifndef __CustomXMLNodes_INTERFACE_DEFINED__
#define __CustomXMLNodes_INTERFACE_DEFINED__

/* interface CustomXMLNodes */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CustomXMLNodes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB03-0000-0000-C000-000000000046")
    CustomXMLNodes : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long Index,
            /* [retval][out] */ CustomXMLNode **ppNode) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CustomXMLNodesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CustomXMLNodes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CustomXMLNodes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CustomXMLNodes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CustomXMLNodes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CustomXMLNodes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CustomXMLNodes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CustomXMLNodes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CustomXMLNodes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CustomXMLNodes * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CustomXMLNodes * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            CustomXMLNodes * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            CustomXMLNodes * This,
            /* [in] */ long Index,
            /* [retval][out] */ CustomXMLNode **ppNode);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            CustomXMLNodes * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } CustomXMLNodesVtbl;

    interface CustomXMLNodes
    {
        CONST_VTBL struct CustomXMLNodesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define CustomXMLNodes_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define CustomXMLNodes_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define CustomXMLNodes_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define CustomXMLNodes_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define CustomXMLNodes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define CustomXMLNodes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define CustomXMLNodes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define CustomXMLNodes_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CustomXMLNodes_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CustomXMLNodes_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#define CustomXMLNodes_get_Count(This,plCount)	\
    ( (This)->lpVtbl -> get_Count(This,plCount) ) 

#define CustomXMLNodes_get_Item(This,Index,ppNode)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppNode) ) 

#define CustomXMLNodes_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CustomXMLNodes_INTERFACE_DEFINED__ */


#ifndef __CustomXMLNode_INTERFACE_DEFINED__
#define __CustomXMLNode_INTERFACE_DEFINED__

/* interface CustomXMLNode */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CustomXMLNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB04-0000-0000-C000-000000000046")
    CustomXMLNode : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
            /* [retval][out] */ CustomXMLNodes **ppAttributes) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BaseName( 
            /* [retval][out] */ BSTR *pbstrBaseName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChildNodes( 
            /* [retval][out] */ CustomXMLNodes **ppChildNodes) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FirstChild( 
            /* [retval][out] */ CustomXMLNode **ppFirstChild) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LastChild( 
            /* [retval][out] */ CustomXMLNode **ppLastChild) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NamespaceURI( 
            /* [retval][out] */ BSTR *pbstrNamespaceURI) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NextSibling( 
            /* [retval][out] */ CustomXMLNode **ppNextSibling) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NodeType( 
            /* [retval][out] */ MsoCustomXMLNodeType *pNodeType) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NodeValue( 
            /* [retval][out] */ BSTR *pbstrNodeValue) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_NodeValue( 
            /* [in] */ BSTR pbstrNodeValue) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_OwnerDocument( 
            /* [retval][out] */ IDispatch **ppdispDoc) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_OwnerPart( 
            /* [retval][out] */ CustomXMLPart	**ppOwnerPart) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PreviousSibling( 
            /* [retval][out] */ CustomXMLNode **ppPreviousSibling) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ParentNode( 
            /* [retval][out] */ CustomXMLNode **ppParentNode) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pbstrText) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR pbstrText) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_XPath( 
            /* [retval][out] */ BSTR *pbstrXPath) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_XML( 
            /* [retval][out] */ BSTR *pbstrXML) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendChildNode( 
            /* [defaultvalue][optional][in] */ BSTR Name = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ BSTR NamespaceURI = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ MsoCustomXMLNodeType NodeType = msoCustomXMLNodeElement,
            /* [defaultvalue][optional][in] */ BSTR NodeValue = (unsigned short*)u"") = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendChildSubtree( 
            /* [in] */ BSTR XML) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE HasChildNodes( 
            /* [retval][out] */ VARIANT_BOOL *pfHasChildNodes) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE InsertNodeBefore( 
            /* [defaultvalue][optional][in] */ BSTR Name = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ BSTR NamespaceURI = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ MsoCustomXMLNodeType NodeType = msoCustomXMLNodeElement,
            /* [defaultvalue][optional][in] */ BSTR NodeValue = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ CustomXMLNode *NextSibling = 0) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE InsertSubtreeBefore( 
            /* [in] */ BSTR XML,
            /* [defaultvalue][optional][in] */ CustomXMLNode *NextSibling = 0) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveChild( 
            /* [in] */ CustomXMLNode *Child) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ReplaceChildNode( 
            /* [in] */ CustomXMLNode *OldNode,
            /* [defaultvalue][optional][in] */ BSTR Name = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ BSTR NamespaceURI = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ MsoCustomXMLNodeType NodeType = msoCustomXMLNodeElement,
            /* [defaultvalue][optional][in] */ BSTR NodeValue = (unsigned short*)u"") = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ReplaceChildSubtree( 
            /* [in] */ BSTR XML,
            /* [in] */ CustomXMLNode *OldNode) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectNodes( 
            /* [in] */ BSTR XPath,
            /* [retval][out] */ CustomXMLNodes **ppNodes) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectSingleNode( 
            /* [in] */ BSTR XPath,
            /* [retval][out] */ CustomXMLNode **ppNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CustomXMLNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CustomXMLNode * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CustomXMLNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CustomXMLNode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CustomXMLNode * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CustomXMLNode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CustomXMLNode * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CustomXMLNode * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CustomXMLNode * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CustomXMLNode * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CustomXMLNode * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
            CustomXMLNode * This,
            /* [retval][out] */ CustomXMLNodes **ppAttributes);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BaseName )( 
            CustomXMLNode * This,
            /* [retval][out] */ BSTR *pbstrBaseName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChildNodes )( 
            CustomXMLNode * This,
            /* [retval][out] */ CustomXMLNodes **ppChildNodes);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FirstChild )( 
            CustomXMLNode * This,
            /* [retval][out] */ CustomXMLNode **ppFirstChild);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LastChild )( 
            CustomXMLNode * This,
            /* [retval][out] */ CustomXMLNode **ppLastChild);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NamespaceURI )( 
            CustomXMLNode * This,
            /* [retval][out] */ BSTR *pbstrNamespaceURI);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NextSibling )( 
            CustomXMLNode * This,
            /* [retval][out] */ CustomXMLNode **ppNextSibling);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NodeType )( 
            CustomXMLNode * This,
            /* [retval][out] */ MsoCustomXMLNodeType *pNodeType);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NodeValue )( 
            CustomXMLNode * This,
            /* [retval][out] */ BSTR *pbstrNodeValue);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NodeValue )( 
            CustomXMLNode * This,
            /* [in] */ BSTR pbstrNodeValue);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerDocument )( 
            CustomXMLNode * This,
            /* [retval][out] */ IDispatch **ppdispDoc);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerPart )( 
            CustomXMLNode * This,
            /* [retval][out] */ CustomXMLPart	**ppOwnerPart);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PreviousSibling )( 
            CustomXMLNode * This,
            /* [retval][out] */ CustomXMLNode **ppPreviousSibling);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ParentNode )( 
            CustomXMLNode * This,
            /* [retval][out] */ CustomXMLNode **ppParentNode);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            CustomXMLNode * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            CustomXMLNode * This,
            /* [in] */ BSTR pbstrText);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_XPath )( 
            CustomXMLNode * This,
            /* [retval][out] */ BSTR *pbstrXPath);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_XML )( 
            CustomXMLNode * This,
            /* [retval][out] */ BSTR *pbstrXML);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AppendChildNode )( 
            CustomXMLNode * This,
            /* [defaultvalue][optional][in] */ BSTR Name,
            /* [defaultvalue][optional][in] */ BSTR NamespaceURI,
            /* [defaultvalue][optional][in] */ MsoCustomXMLNodeType NodeType,
            /* [defaultvalue][optional][in] */ BSTR NodeValue);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AppendChildSubtree )( 
            CustomXMLNode * This,
            /* [in] */ BSTR XML);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            CustomXMLNode * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *HasChildNodes )( 
            CustomXMLNode * This,
            /* [retval][out] */ VARIANT_BOOL *pfHasChildNodes);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InsertNodeBefore )( 
            CustomXMLNode * This,
            /* [defaultvalue][optional][in] */ BSTR Name,
            /* [defaultvalue][optional][in] */ BSTR NamespaceURI,
            /* [defaultvalue][optional][in] */ MsoCustomXMLNodeType NodeType,
            /* [defaultvalue][optional][in] */ BSTR NodeValue,
            /* [defaultvalue][optional][in] */ CustomXMLNode *NextSibling);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InsertSubtreeBefore )( 
            CustomXMLNode * This,
            /* [in] */ BSTR XML,
            /* [defaultvalue][optional][in] */ CustomXMLNode *NextSibling);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveChild )( 
            CustomXMLNode * This,
            /* [in] */ CustomXMLNode *Child);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ReplaceChildNode )( 
            CustomXMLNode * This,
            /* [in] */ CustomXMLNode *OldNode,
            /* [defaultvalue][optional][in] */ BSTR Name,
            /* [defaultvalue][optional][in] */ BSTR NamespaceURI,
            /* [defaultvalue][optional][in] */ MsoCustomXMLNodeType NodeType,
            /* [defaultvalue][optional][in] */ BSTR NodeValue);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ReplaceChildSubtree )( 
            CustomXMLNode * This,
            /* [in] */ BSTR XML,
            /* [in] */ CustomXMLNode *OldNode);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectNodes )( 
            CustomXMLNode * This,
            /* [in] */ BSTR XPath,
            /* [retval][out] */ CustomXMLNodes **ppNodes);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectSingleNode )( 
            CustomXMLNode * This,
            /* [in] */ BSTR XPath,
            /* [retval][out] */ CustomXMLNode **ppNode);
        
        END_INTERFACE
    } CustomXMLNodeVtbl;

    interface CustomXMLNode
    {
        CONST_VTBL struct CustomXMLNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define CustomXMLNode_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define CustomXMLNode_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define CustomXMLNode_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define CustomXMLNode_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define CustomXMLNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define CustomXMLNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define CustomXMLNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define CustomXMLNode_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CustomXMLNode_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CustomXMLNode_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#define CustomXMLNode_get_Attributes(This,ppAttributes)	\
    ( (This)->lpVtbl -> get_Attributes(This,ppAttributes) ) 

#define CustomXMLNode_get_BaseName(This,pbstrBaseName)	\
    ( (This)->lpVtbl -> get_BaseName(This,pbstrBaseName) ) 

#define CustomXMLNode_get_ChildNodes(This,ppChildNodes)	\
    ( (This)->lpVtbl -> get_ChildNodes(This,ppChildNodes) ) 

#define CustomXMLNode_get_FirstChild(This,ppFirstChild)	\
    ( (This)->lpVtbl -> get_FirstChild(This,ppFirstChild) ) 

#define CustomXMLNode_get_LastChild(This,ppLastChild)	\
    ( (This)->lpVtbl -> get_LastChild(This,ppLastChild) ) 

#define CustomXMLNode_get_NamespaceURI(This,pbstrNamespaceURI)	\
    ( (This)->lpVtbl -> get_NamespaceURI(This,pbstrNamespaceURI) ) 

#define CustomXMLNode_get_NextSibling(This,ppNextSibling)	\
    ( (This)->lpVtbl -> get_NextSibling(This,ppNextSibling) ) 

#define CustomXMLNode_get_NodeType(This,pNodeType)	\
    ( (This)->lpVtbl -> get_NodeType(This,pNodeType) ) 

#define CustomXMLNode_get_NodeValue(This,pbstrNodeValue)	\
    ( (This)->lpVtbl -> get_NodeValue(This,pbstrNodeValue) ) 

#define CustomXMLNode_put_NodeValue(This,pbstrNodeValue)	\
    ( (This)->lpVtbl -> put_NodeValue(This,pbstrNodeValue) ) 

#define CustomXMLNode_get_OwnerDocument(This,ppdispDoc)	\
    ( (This)->lpVtbl -> get_OwnerDocument(This,ppdispDoc) ) 

#define CustomXMLNode_get_OwnerPart(This,ppOwnerPart)	\
    ( (This)->lpVtbl -> get_OwnerPart(This,ppOwnerPart) ) 

#define CustomXMLNode_get_PreviousSibling(This,ppPreviousSibling)	\
    ( (This)->lpVtbl -> get_PreviousSibling(This,ppPreviousSibling) ) 

#define CustomXMLNode_get_ParentNode(This,ppParentNode)	\
    ( (This)->lpVtbl -> get_ParentNode(This,ppParentNode) ) 

#define CustomXMLNode_get_Text(This,pbstrText)	\
    ( (This)->lpVtbl -> get_Text(This,pbstrText) ) 

#define CustomXMLNode_put_Text(This,pbstrText)	\
    ( (This)->lpVtbl -> put_Text(This,pbstrText) ) 

#define CustomXMLNode_get_XPath(This,pbstrXPath)	\
    ( (This)->lpVtbl -> get_XPath(This,pbstrXPath) ) 

#define CustomXMLNode_get_XML(This,pbstrXML)	\
    ( (This)->lpVtbl -> get_XML(This,pbstrXML) ) 

#define CustomXMLNode_AppendChildNode(This,Name,NamespaceURI,NodeType,NodeValue)	\
    ( (This)->lpVtbl -> AppendChildNode(This,Name,NamespaceURI,NodeType,NodeValue) ) 

#define CustomXMLNode_AppendChildSubtree(This,XML)	\
    ( (This)->lpVtbl -> AppendChildSubtree(This,XML) ) 

#define CustomXMLNode_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define CustomXMLNode_HasChildNodes(This,pfHasChildNodes)	\
    ( (This)->lpVtbl -> HasChildNodes(This,pfHasChildNodes) ) 

#define CustomXMLNode_InsertNodeBefore(This,Name,NamespaceURI,NodeType,NodeValue,NextSibling)	\
    ( (This)->lpVtbl -> InsertNodeBefore(This,Name,NamespaceURI,NodeType,NodeValue,NextSibling) ) 

#define CustomXMLNode_InsertSubtreeBefore(This,XML,NextSibling)	\
    ( (This)->lpVtbl -> InsertSubtreeBefore(This,XML,NextSibling) ) 

#define CustomXMLNode_RemoveChild(This,Child)	\
    ( (This)->lpVtbl -> RemoveChild(This,Child) ) 

#define CustomXMLNode_ReplaceChildNode(This,OldNode,Name,NamespaceURI,NodeType,NodeValue)	\
    ( (This)->lpVtbl -> ReplaceChildNode(This,OldNode,Name,NamespaceURI,NodeType,NodeValue) ) 

#define CustomXMLNode_ReplaceChildSubtree(This,XML,OldNode)	\
    ( (This)->lpVtbl -> ReplaceChildSubtree(This,XML,OldNode) ) 

#define CustomXMLNode_SelectNodes(This,XPath,ppNodes)	\
    ( (This)->lpVtbl -> SelectNodes(This,XPath,ppNodes) ) 

#define CustomXMLNode_SelectSingleNode(This,XPath,ppNode)	\
    ( (This)->lpVtbl -> SelectSingleNode(This,XPath,ppNode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CustomXMLNode_INTERFACE_DEFINED__ */


#ifndef __CustomXMLValidationError_INTERFACE_DEFINED__
#define __CustomXMLValidationError_INTERFACE_DEFINED__

/* interface CustomXMLValidationError */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CustomXMLValidationError;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB0E-0000-0000-C000-000000000046")
    CustomXMLValidationError : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Node( 
            /* [retval][out] */ CustomXMLNode **ppNode) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pbstrText) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoCustomXMLValidationErrorType *pErrorType) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ErrorCode( 
            /* [retval][out] */ long *plErrorCode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CustomXMLValidationErrorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CustomXMLValidationError * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CustomXMLValidationError * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CustomXMLValidationError * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CustomXMLValidationError * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CustomXMLValidationError * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CustomXMLValidationError * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CustomXMLValidationError * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CustomXMLValidationError * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CustomXMLValidationError * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CustomXMLValidationError * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            CustomXMLValidationError * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Node )( 
            CustomXMLValidationError * This,
            /* [retval][out] */ CustomXMLNode **ppNode);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            CustomXMLValidationError * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            CustomXMLValidationError * This,
            /* [retval][out] */ MsoCustomXMLValidationErrorType *pErrorType);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            CustomXMLValidationError * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ErrorCode )( 
            CustomXMLValidationError * This,
            /* [retval][out] */ long *plErrorCode);
        
        END_INTERFACE
    } CustomXMLValidationErrorVtbl;

    interface CustomXMLValidationError
    {
        CONST_VTBL struct CustomXMLValidationErrorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define CustomXMLValidationError_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define CustomXMLValidationError_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define CustomXMLValidationError_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define CustomXMLValidationError_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define CustomXMLValidationError_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define CustomXMLValidationError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define CustomXMLValidationError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define CustomXMLValidationError_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CustomXMLValidationError_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CustomXMLValidationError_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#define CustomXMLValidationError_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define CustomXMLValidationError_get_Node(This,ppNode)	\
    ( (This)->lpVtbl -> get_Node(This,ppNode) ) 

#define CustomXMLValidationError_get_Text(This,pbstrText)	\
    ( (This)->lpVtbl -> get_Text(This,pbstrText) ) 

#define CustomXMLValidationError_get_Type(This,pErrorType)	\
    ( (This)->lpVtbl -> get_Type(This,pErrorType) ) 

#define CustomXMLValidationError_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define CustomXMLValidationError_get_ErrorCode(This,plErrorCode)	\
    ( (This)->lpVtbl -> get_ErrorCode(This,plErrorCode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CustomXMLValidationError_INTERFACE_DEFINED__ */


#ifndef __CustomXMLValidationErrors_INTERFACE_DEFINED__
#define __CustomXMLValidationErrors_INTERFACE_DEFINED__

/* interface CustomXMLValidationErrors */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_CustomXMLValidationErrors;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB0F-0000-0000-C000-000000000046")
    CustomXMLValidationErrors : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long Index,
            /* [retval][out] */ CustomXMLValidationError **ppError) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ CustomXMLNode *Node,
            /* [in] */ BSTR ErrorName,
            /* [defaultvalue][optional][in] */ BSTR ErrorText = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ VARIANT_BOOL ClearedOnUpdate = -1) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CustomXMLValidationErrorsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CustomXMLValidationErrors * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CustomXMLValidationErrors * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CustomXMLValidationErrors * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CustomXMLValidationErrors * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CustomXMLValidationErrors * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CustomXMLValidationErrors * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CustomXMLValidationErrors * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            CustomXMLValidationErrors * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            CustomXMLValidationErrors * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            CustomXMLValidationErrors * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            CustomXMLValidationErrors * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            CustomXMLValidationErrors * This,
            /* [in] */ long Index,
            /* [retval][out] */ CustomXMLValidationError **ppError);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            CustomXMLValidationErrors * This,
            /* [in] */ CustomXMLNode *Node,
            /* [in] */ BSTR ErrorName,
            /* [defaultvalue][optional][in] */ BSTR ErrorText,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL ClearedOnUpdate);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            CustomXMLValidationErrors * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } CustomXMLValidationErrorsVtbl;

    interface CustomXMLValidationErrors
    {
        CONST_VTBL struct CustomXMLValidationErrorsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define CustomXMLValidationErrors_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define CustomXMLValidationErrors_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define CustomXMLValidationErrors_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define CustomXMLValidationErrors_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define CustomXMLValidationErrors_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define CustomXMLValidationErrors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define CustomXMLValidationErrors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define CustomXMLValidationErrors_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define CustomXMLValidationErrors_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define CustomXMLValidationErrors_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#define CustomXMLValidationErrors_get_Count(This,plCount)	\
    ( (This)->lpVtbl -> get_Count(This,plCount) ) 

#define CustomXMLValidationErrors_get_Item(This,Index,ppError)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppError) ) 

#define CustomXMLValidationErrors_Add(This,Node,ErrorName,ErrorText,ClearedOnUpdate)	\
    ( (This)->lpVtbl -> Add(This,Node,ErrorName,ErrorText,ClearedOnUpdate) ) 

#define CustomXMLValidationErrors_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CustomXMLValidationErrors_INTERFACE_DEFINED__ */


#ifndef ___CustomXMLPart_INTERFACE_DEFINED__
#define ___CustomXMLPart_INTERFACE_DEFINED__

/* interface _CustomXMLPart */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID__CustomXMLPart;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB05-0000-0000-C000-000000000046")
    _CustomXMLPart : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DocumentElement( 
            /* [retval][out] */ CustomXMLNode **ppDocumentElement) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *pbstrID) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NamespaceURI( 
            /* [retval][out] */ BSTR *pbstrNamespaceURI) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SchemaCollection( 
            /* [retval][out] */ CustomXMLSchemaCollection	**ppSchemaCollection) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SchemaCollection( 
            /* [in] */ CustomXMLSchemaCollection	*ppSchemaCollection) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_NamespaceManager( 
            /* [retval][out] */ CustomXMLPrefixMappings **ppPrefixMappings) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_XML( 
            /* [retval][out] */ BSTR *pbstrXML) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddNode( 
            /* [in] */ CustomXMLNode *Parent,
            /* [defaultvalue][optional][in] */ BSTR Name = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ BSTR NamespaceURI = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ CustomXMLNode *NextSibling = 0,
            /* [defaultvalue][optional][in] */ MsoCustomXMLNodeType NodeType = msoCustomXMLNodeElement,
            /* [defaultvalue][optional][in] */ BSTR NodeValue = (unsigned short*)u"") = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ BSTR FilePath,
            /* [retval][out] */ VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE LoadXML( 
            /* [in] */ BSTR XML,
            /* [retval][out] */ VARIANT_BOOL *pfRet) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectNodes( 
            /* [in] */ BSTR XPath,
            /* [retval][out] */ CustomXMLNodes **ppNodes) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectSingleNode( 
            /* [in] */ BSTR XPath,
            /* [retval][out] */ CustomXMLNode **ppNode) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Errors( 
            /* [retval][out] */ CustomXMLValidationErrors **ppErrors) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BuiltIn( 
            /* [retval][out] */ VARIANT_BOOL *pfRet) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct _CustomXMLPartVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CustomXMLPart * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CustomXMLPart * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CustomXMLPart * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CustomXMLPart * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CustomXMLPart * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CustomXMLPart * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CustomXMLPart * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            _CustomXMLPart * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            _CustomXMLPart * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            _CustomXMLPart * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentElement )( 
            _CustomXMLPart * This,
            /* [retval][out] */ CustomXMLNode **ppDocumentElement);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            _CustomXMLPart * This,
            /* [retval][out] */ BSTR *pbstrID);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NamespaceURI )( 
            _CustomXMLPart * This,
            /* [retval][out] */ BSTR *pbstrNamespaceURI);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SchemaCollection )( 
            _CustomXMLPart * This,
            /* [retval][out] */ CustomXMLSchemaCollection	**ppSchemaCollection);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SchemaCollection )( 
            _CustomXMLPart * This,
            /* [in] */ CustomXMLSchemaCollection	*ppSchemaCollection);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NamespaceManager )( 
            _CustomXMLPart * This,
            /* [retval][out] */ CustomXMLPrefixMappings **ppPrefixMappings);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_XML )( 
            _CustomXMLPart * This,
            /* [retval][out] */ BSTR *pbstrXML);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddNode )( 
            _CustomXMLPart * This,
            /* [in] */ CustomXMLNode *Parent,
            /* [defaultvalue][optional][in] */ BSTR Name,
            /* [defaultvalue][optional][in] */ BSTR NamespaceURI,
            /* [defaultvalue][optional][in] */ CustomXMLNode *NextSibling,
            /* [defaultvalue][optional][in] */ MsoCustomXMLNodeType NodeType,
            /* [defaultvalue][optional][in] */ BSTR NodeValue);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            _CustomXMLPart * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            _CustomXMLPart * This,
            /* [in] */ BSTR FilePath,
            /* [retval][out] */ VARIANT_BOOL *pfRet);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *LoadXML )( 
            _CustomXMLPart * This,
            /* [in] */ BSTR XML,
            /* [retval][out] */ VARIANT_BOOL *pfRet);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectNodes )( 
            _CustomXMLPart * This,
            /* [in] */ BSTR XPath,
            /* [retval][out] */ CustomXMLNodes **ppNodes);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectSingleNode )( 
            _CustomXMLPart * This,
            /* [in] */ BSTR XPath,
            /* [retval][out] */ CustomXMLNode **ppNode);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Errors )( 
            _CustomXMLPart * This,
            /* [retval][out] */ CustomXMLValidationErrors **ppErrors);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BuiltIn )( 
            _CustomXMLPart * This,
            /* [retval][out] */ VARIANT_BOOL *pfRet);
        
        END_INTERFACE
    } _CustomXMLPartVtbl;

    interface _CustomXMLPart
    {
        CONST_VTBL struct _CustomXMLPartVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _CustomXMLPart_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _CustomXMLPart_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _CustomXMLPart_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _CustomXMLPart_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _CustomXMLPart_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _CustomXMLPart_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _CustomXMLPart_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define _CustomXMLPart_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define _CustomXMLPart_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define _CustomXMLPart_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#define _CustomXMLPart_get_DocumentElement(This,ppDocumentElement)	\
    ( (This)->lpVtbl -> get_DocumentElement(This,ppDocumentElement) ) 

#define _CustomXMLPart_get_Id(This,pbstrID)	\
    ( (This)->lpVtbl -> get_Id(This,pbstrID) ) 

#define _CustomXMLPart_get_NamespaceURI(This,pbstrNamespaceURI)	\
    ( (This)->lpVtbl -> get_NamespaceURI(This,pbstrNamespaceURI) ) 

#define _CustomXMLPart_get_SchemaCollection(This,ppSchemaCollection)	\
    ( (This)->lpVtbl -> get_SchemaCollection(This,ppSchemaCollection) ) 

#define _CustomXMLPart_put_SchemaCollection(This,ppSchemaCollection)	\
    ( (This)->lpVtbl -> put_SchemaCollection(This,ppSchemaCollection) ) 

#define _CustomXMLPart_get_NamespaceManager(This,ppPrefixMappings)	\
    ( (This)->lpVtbl -> get_NamespaceManager(This,ppPrefixMappings) ) 

#define _CustomXMLPart_get_XML(This,pbstrXML)	\
    ( (This)->lpVtbl -> get_XML(This,pbstrXML) ) 

#define _CustomXMLPart_AddNode(This,Parent,Name,NamespaceURI,NextSibling,NodeType,NodeValue)	\
    ( (This)->lpVtbl -> AddNode(This,Parent,Name,NamespaceURI,NextSibling,NodeType,NodeValue) ) 

#define _CustomXMLPart_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define _CustomXMLPart_Load(This,FilePath,pfRet)	\
    ( (This)->lpVtbl -> Load(This,FilePath,pfRet) ) 

#define _CustomXMLPart_LoadXML(This,XML,pfRet)	\
    ( (This)->lpVtbl -> LoadXML(This,XML,pfRet) ) 

#define _CustomXMLPart_SelectNodes(This,XPath,ppNodes)	\
    ( (This)->lpVtbl -> SelectNodes(This,XPath,ppNodes) ) 

#define _CustomXMLPart_SelectSingleNode(This,XPath,ppNode)	\
    ( (This)->lpVtbl -> SelectSingleNode(This,XPath,ppNode) ) 

#define _CustomXMLPart_get_Errors(This,ppErrors)	\
    ( (This)->lpVtbl -> get_Errors(This,ppErrors) ) 

#define _CustomXMLPart_get_BuiltIn(This,pfRet)	\
    ( (This)->lpVtbl -> get_BuiltIn(This,pfRet) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ___CustomXMLPart_INTERFACE_DEFINED__ */


#ifndef __ICustomXMLPartEvents_INTERFACE_DEFINED__
#define __ICustomXMLPartEvents_INTERFACE_DEFINED__

/* interface ICustomXMLPartEvents */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_ICustomXMLPartEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB06-0000-0000-C000-000000000046")
    ICustomXMLPartEvents : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE NodeAfterInsert( 
            /* [in] */ CustomXMLNode *NewNode,
            /* [in] */ VARIANT_BOOL InUndoRedo) = 0;
        
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE NodeAfterDelete( 
            /* [in] */ CustomXMLNode *OldNode,
            /* [in] */ CustomXMLNode *OldParentNode,
            /* [in] */ CustomXMLNode *OldNextSibling,
            /* [in] */ VARIANT_BOOL InUndoRedo) = 0;
        
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE NodeAfterReplace( 
            /* [in] */ CustomXMLNode *OldNode,
            /* [in] */ CustomXMLNode *NewNode,
            /* [in] */ VARIANT_BOOL InUndoRedo) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICustomXMLPartEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICustomXMLPartEvents * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICustomXMLPartEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICustomXMLPartEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICustomXMLPartEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICustomXMLPartEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICustomXMLPartEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICustomXMLPartEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ void ( STDMETHODCALLTYPE *NodeAfterInsert )( 
            ICustomXMLPartEvents * This,
            /* [in] */ CustomXMLNode *NewNode,
            /* [in] */ VARIANT_BOOL InUndoRedo);
        
        /* [helpcontext][id] */ void ( STDMETHODCALLTYPE *NodeAfterDelete )( 
            ICustomXMLPartEvents * This,
            /* [in] */ CustomXMLNode *OldNode,
            /* [in] */ CustomXMLNode *OldParentNode,
            /* [in] */ CustomXMLNode *OldNextSibling,
            /* [in] */ VARIANT_BOOL InUndoRedo);
        
        /* [helpcontext][id] */ void ( STDMETHODCALLTYPE *NodeAfterReplace )( 
            ICustomXMLPartEvents * This,
            /* [in] */ CustomXMLNode *OldNode,
            /* [in] */ CustomXMLNode *NewNode,
            /* [in] */ VARIANT_BOOL InUndoRedo);
        
        END_INTERFACE
    } ICustomXMLPartEventsVtbl;

    interface ICustomXMLPartEvents
    {
        CONST_VTBL struct ICustomXMLPartEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICustomXMLPartEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICustomXMLPartEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICustomXMLPartEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICustomXMLPartEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICustomXMLPartEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICustomXMLPartEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICustomXMLPartEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICustomXMLPartEvents_NodeAfterInsert(This,NewNode,InUndoRedo)	\
    ( (This)->lpVtbl -> NodeAfterInsert(This,NewNode,InUndoRedo) ) 

#define ICustomXMLPartEvents_NodeAfterDelete(This,OldNode,OldParentNode,OldNextSibling,InUndoRedo)	\
    ( (This)->lpVtbl -> NodeAfterDelete(This,OldNode,OldParentNode,OldNextSibling,InUndoRedo) ) 

#define ICustomXMLPartEvents_NodeAfterReplace(This,OldNode,NewNode,InUndoRedo)	\
    ( (This)->lpVtbl -> NodeAfterReplace(This,OldNode,NewNode,InUndoRedo) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICustomXMLPartEvents_INTERFACE_DEFINED__ */


#ifndef ___CustomXMLPartEvents_DISPINTERFACE_DEFINED__
#define ___CustomXMLPartEvents_DISPINTERFACE_DEFINED__

/* dispinterface _CustomXMLPartEvents */
/* [hidden][uuid] */ 


extern "C++" const IID DIID__CustomXMLPartEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("000CDB07-0000-0000-C000-000000000046")
    _CustomXMLPartEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _CustomXMLPartEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CustomXMLPartEvents * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CustomXMLPartEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CustomXMLPartEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CustomXMLPartEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CustomXMLPartEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CustomXMLPartEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CustomXMLPartEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _CustomXMLPartEventsVtbl;

    interface _CustomXMLPartEvents
    {
        CONST_VTBL struct _CustomXMLPartEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _CustomXMLPartEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _CustomXMLPartEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _CustomXMLPartEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _CustomXMLPartEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _CustomXMLPartEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _CustomXMLPartEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _CustomXMLPartEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___CustomXMLPartEvents_DISPINTERFACE_DEFINED__ */


#ifndef ___CustomXMLParts_INTERFACE_DEFINED__
#define ___CustomXMLParts_INTERFACE_DEFINED__

/* interface _CustomXMLParts */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID__CustomXMLParts;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB09-0000-0000-C000-000000000046")
    _CustomXMLParts : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *plCount) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ CustomXMLPart	**ppPart) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [defaultvalue][optional][in] */ BSTR XML,
            /* [optional][in] */ VARIANT SchemaCollection,
            /* [retval][out] */ CustomXMLPart	**ppPart) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectByID( 
            /* [in] */ BSTR Id,
            /* [retval][out] */ CustomXMLPart	**ppPart) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectByNamespace( 
            /* [in] */ BSTR NamespaceURI,
            /* [retval][out] */ CustomXMLParts	**ppParts) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppunkEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct _CustomXMLPartsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CustomXMLParts * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CustomXMLParts * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CustomXMLParts * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CustomXMLParts * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CustomXMLParts * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CustomXMLParts * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CustomXMLParts * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            _CustomXMLParts * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            _CustomXMLParts * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            _CustomXMLParts * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            _CustomXMLParts * This,
            /* [retval][out] */ long *plCount);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            _CustomXMLParts * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ CustomXMLPart	**ppPart);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            _CustomXMLParts * This,
            /* [defaultvalue][optional][in] */ BSTR XML,
            /* [optional][in] */ VARIANT SchemaCollection,
            /* [retval][out] */ CustomXMLPart	**ppPart);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectByID )( 
            _CustomXMLParts * This,
            /* [in] */ BSTR Id,
            /* [retval][out] */ CustomXMLPart	**ppPart);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectByNamespace )( 
            _CustomXMLParts * This,
            /* [in] */ BSTR NamespaceURI,
            /* [retval][out] */ CustomXMLParts	**ppParts);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            _CustomXMLParts * This,
            /* [retval][out] */ IUnknown **ppunkEnum);
        
        END_INTERFACE
    } _CustomXMLPartsVtbl;

    interface _CustomXMLParts
    {
        CONST_VTBL struct _CustomXMLPartsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _CustomXMLParts_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _CustomXMLParts_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _CustomXMLParts_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _CustomXMLParts_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _CustomXMLParts_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _CustomXMLParts_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _CustomXMLParts_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define _CustomXMLParts_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define _CustomXMLParts_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define _CustomXMLParts_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#define _CustomXMLParts_get_Count(This,plCount)	\
    ( (This)->lpVtbl -> get_Count(This,plCount) ) 

#define _CustomXMLParts_get_Item(This,Index,ppPart)	\
    ( (This)->lpVtbl -> get_Item(This,Index,ppPart) ) 

#define _CustomXMLParts_Add(This,XML,SchemaCollection,ppPart)	\
    ( (This)->lpVtbl -> Add(This,XML,SchemaCollection,ppPart) ) 

#define _CustomXMLParts_SelectByID(This,Id,ppPart)	\
    ( (This)->lpVtbl -> SelectByID(This,Id,ppPart) ) 

#define _CustomXMLParts_SelectByNamespace(This,NamespaceURI,ppParts)	\
    ( (This)->lpVtbl -> SelectByNamespace(This,NamespaceURI,ppParts) ) 

#define _CustomXMLParts_get__NewEnum(This,ppunkEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppunkEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ___CustomXMLParts_INTERFACE_DEFINED__ */


#ifndef __ICustomXMLPartsEvents_INTERFACE_DEFINED__
#define __ICustomXMLPartsEvents_INTERFACE_DEFINED__

/* interface ICustomXMLPartsEvents */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_ICustomXMLPartsEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CDB0A-0000-0000-C000-000000000046")
    ICustomXMLPartsEvents : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE PartAfterAdd( 
            /* [in] */ CustomXMLPart	*NewPart) = 0;
        
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE PartBeforeDelete( 
            /* [in] */ CustomXMLPart	*OldPart) = 0;
        
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE PartAfterLoad( 
            /* [in] */ CustomXMLPart	*Part) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICustomXMLPartsEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICustomXMLPartsEvents * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICustomXMLPartsEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICustomXMLPartsEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICustomXMLPartsEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICustomXMLPartsEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICustomXMLPartsEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICustomXMLPartsEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ void ( STDMETHODCALLTYPE *PartAfterAdd )( 
            ICustomXMLPartsEvents * This,
            /* [in] */ CustomXMLPart	*NewPart);
        
        /* [helpcontext][id] */ void ( STDMETHODCALLTYPE *PartBeforeDelete )( 
            ICustomXMLPartsEvents * This,
            /* [in] */ CustomXMLPart	*OldPart);
        
        /* [helpcontext][id] */ void ( STDMETHODCALLTYPE *PartAfterLoad )( 
            ICustomXMLPartsEvents * This,
            /* [in] */ CustomXMLPart	*Part);
        
        END_INTERFACE
    } ICustomXMLPartsEventsVtbl;

    interface ICustomXMLPartsEvents
    {
        CONST_VTBL struct ICustomXMLPartsEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICustomXMLPartsEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICustomXMLPartsEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICustomXMLPartsEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICustomXMLPartsEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICustomXMLPartsEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICustomXMLPartsEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICustomXMLPartsEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICustomXMLPartsEvents_PartAfterAdd(This,NewPart)	\
    ( (This)->lpVtbl -> PartAfterAdd(This,NewPart) ) 

#define ICustomXMLPartsEvents_PartBeforeDelete(This,OldPart)	\
    ( (This)->lpVtbl -> PartBeforeDelete(This,OldPart) ) 

#define ICustomXMLPartsEvents_PartAfterLoad(This,Part)	\
    ( (This)->lpVtbl -> PartAfterLoad(This,Part) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICustomXMLPartsEvents_INTERFACE_DEFINED__ */


#ifndef ___CustomXMLPartsEvents_DISPINTERFACE_DEFINED__
#define ___CustomXMLPartsEvents_DISPINTERFACE_DEFINED__

/* dispinterface _CustomXMLPartsEvents */
/* [hidden][uuid] */ 


extern "C++" const IID DIID__CustomXMLPartsEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("000CDB0B-0000-0000-C000-000000000046")
    _CustomXMLPartsEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _CustomXMLPartsEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CustomXMLPartsEvents * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CustomXMLPartsEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CustomXMLPartsEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CustomXMLPartsEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CustomXMLPartsEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CustomXMLPartsEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CustomXMLPartsEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _CustomXMLPartsEventsVtbl;

    interface _CustomXMLPartsEvents
    {
        CONST_VTBL struct _CustomXMLPartsEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _CustomXMLPartsEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _CustomXMLPartsEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _CustomXMLPartsEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _CustomXMLPartsEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _CustomXMLPartsEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _CustomXMLPartsEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _CustomXMLPartsEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___CustomXMLPartsEvents_DISPINTERFACE_DEFINED__ */


#ifndef __GradientStop_INTERFACE_DEFINED__
#define __GradientStop_INTERFACE_DEFINED__

/* interface GradientStop */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_GradientStop;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03BF-0000-0000-C000-000000000046")
    GradientStop : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ ColorFormat **Color) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ single *Position) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ single Position) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Transparency( 
            /* [retval][out] */ single *Transparency) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Transparency( 
            /* [in] */ single Transparency) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct GradientStopVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            GradientStop * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            GradientStop * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            GradientStop * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            GradientStop * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            GradientStop * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            GradientStop * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            GradientStop * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            GradientStop * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            GradientStop * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            GradientStop * This,
            /* [retval][out] */ ColorFormat **Color);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            GradientStop * This,
            /* [retval][out] */ single *Position);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            GradientStop * This,
            /* [in] */ single Position);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Transparency )( 
            GradientStop * This,
            /* [retval][out] */ single *Transparency);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Transparency )( 
            GradientStop * This,
            /* [in] */ single Transparency);
        
        END_INTERFACE
    } GradientStopVtbl;

    interface GradientStop
    {
        CONST_VTBL struct GradientStopVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define GradientStop_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define GradientStop_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define GradientStop_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define GradientStop_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define GradientStop_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define GradientStop_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define GradientStop_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define GradientStop_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define GradientStop_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define GradientStop_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define GradientStop_get_Position(This,Position)	\
    ( (This)->lpVtbl -> get_Position(This,Position) ) 

#define GradientStop_put_Position(This,Position)	\
    ( (This)->lpVtbl -> put_Position(This,Position) ) 

#define GradientStop_get_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> get_Transparency(This,Transparency) ) 

#define GradientStop_put_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> put_Transparency(This,Transparency) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __GradientStop_INTERFACE_DEFINED__ */


#ifndef __GradientStops_INTERFACE_DEFINED__
#define __GradientStops_INTERFACE_DEFINED__

/* interface GradientStops */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_GradientStops;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03C0-0000-0000-C000-000000000046")
    GradientStops : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ GradientStop **Item) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [defaultvalue][optional][in] */ int Index = -1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ MsoRGBType RGB,
            /* [in] */ single Position,
            /* [defaultvalue][optional][in] */ single Transparency = 0,
            /* [defaultvalue][optional][in] */ int Index = -1) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Insert2( 
            /* [in] */ MsoRGBType RGB,
            /* [in] */ single Position,
            /* [defaultvalue][optional][in] */ single Transparency = 0,
            /* [defaultvalue][optional][in] */ int Index = -1,
            /* [defaultvalue][optional][in] */ single Brightness = 0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct GradientStopsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            GradientStops * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            GradientStops * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            GradientStops * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            GradientStops * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            GradientStops * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            GradientStops * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            GradientStops * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            GradientStops * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            GradientStops * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            GradientStops * This,
            /* [in] */ int Index,
            /* [retval][out] */ GradientStop **Item);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            GradientStops * This,
            /* [retval][out] */ int *Count);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            GradientStops * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            GradientStops * This,
            /* [defaultvalue][optional][in] */ int Index);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            GradientStops * This,
            /* [in] */ MsoRGBType RGB,
            /* [in] */ single Position,
            /* [defaultvalue][optional][in] */ single Transparency,
            /* [defaultvalue][optional][in] */ int Index);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Insert2 )( 
            GradientStops * This,
            /* [in] */ MsoRGBType RGB,
            /* [in] */ single Position,
            /* [defaultvalue][optional][in] */ single Transparency,
            /* [defaultvalue][optional][in] */ int Index,
            /* [defaultvalue][optional][in] */ single Brightness);
        
        END_INTERFACE
    } GradientStopsVtbl;

    interface GradientStops
    {
        CONST_VTBL struct GradientStopsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define GradientStops_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define GradientStops_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define GradientStops_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define GradientStops_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define GradientStops_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define GradientStops_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define GradientStops_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define GradientStops_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define GradientStops_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define GradientStops_get_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> get_Item(This,Index,Item) ) 

#define GradientStops_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define GradientStops_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define GradientStops_Delete(This,Index)	\
    ( (This)->lpVtbl -> Delete(This,Index) ) 

#define GradientStops_Insert(This,RGB,Position,Transparency,Index)	\
    ( (This)->lpVtbl -> Insert(This,RGB,Position,Transparency,Index) ) 

#define GradientStops_Insert2(This,RGB,Position,Transparency,Index,Brightness)	\
    ( (This)->lpVtbl -> Insert2(This,RGB,Position,Transparency,Index,Brightness) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __GradientStops_INTERFACE_DEFINED__ */


#ifndef __SoftEdgeFormat_INTERFACE_DEFINED__
#define __SoftEdgeFormat_INTERFACE_DEFINED__

/* interface SoftEdgeFormat */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_SoftEdgeFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03BC-0000-0000-C000-000000000046")
    SoftEdgeFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoSoftEdgeType *Type) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ MsoSoftEdgeType Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Radius( 
            /* [retval][out] */ single *Radius) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Radius( 
            /* [in] */ single Radius) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SoftEdgeFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SoftEdgeFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SoftEdgeFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SoftEdgeFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SoftEdgeFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SoftEdgeFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SoftEdgeFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SoftEdgeFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SoftEdgeFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SoftEdgeFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            SoftEdgeFormat * This,
            /* [retval][out] */ MsoSoftEdgeType *Type);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            SoftEdgeFormat * This,
            /* [in] */ MsoSoftEdgeType Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Radius )( 
            SoftEdgeFormat * This,
            /* [retval][out] */ single *Radius);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Radius )( 
            SoftEdgeFormat * This,
            /* [in] */ single Radius);
        
        END_INTERFACE
    } SoftEdgeFormatVtbl;

    interface SoftEdgeFormat
    {
        CONST_VTBL struct SoftEdgeFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SoftEdgeFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SoftEdgeFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SoftEdgeFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SoftEdgeFormat_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SoftEdgeFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SoftEdgeFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SoftEdgeFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SoftEdgeFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SoftEdgeFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SoftEdgeFormat_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define SoftEdgeFormat_put_Type(This,Type)	\
    ( (This)->lpVtbl -> put_Type(This,Type) ) 

#define SoftEdgeFormat_get_Radius(This,Radius)	\
    ( (This)->lpVtbl -> get_Radius(This,Radius) ) 

#define SoftEdgeFormat_put_Radius(This,Radius)	\
    ( (This)->lpVtbl -> put_Radius(This,Radius) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SoftEdgeFormat_INTERFACE_DEFINED__ */


#ifndef __GlowFormat_INTERFACE_DEFINED__
#define __GlowFormat_INTERFACE_DEFINED__

/* interface GlowFormat */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_GlowFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03BD-0000-0000-C000-000000000046")
    GlowFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Radius( 
            /* [retval][out] */ single *Radius) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Radius( 
            /* [in] */ single Radius) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ ColorFormat **Color) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Transparency( 
            /* [retval][out] */ single *Transparency) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Transparency( 
            /* [in] */ single Transparency) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct GlowFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            GlowFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            GlowFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            GlowFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            GlowFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            GlowFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            GlowFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            GlowFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            GlowFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            GlowFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Radius )( 
            GlowFormat * This,
            /* [retval][out] */ single *Radius);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Radius )( 
            GlowFormat * This,
            /* [in] */ single Radius);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            GlowFormat * This,
            /* [retval][out] */ ColorFormat **Color);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Transparency )( 
            GlowFormat * This,
            /* [retval][out] */ single *Transparency);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Transparency )( 
            GlowFormat * This,
            /* [in] */ single Transparency);
        
        END_INTERFACE
    } GlowFormatVtbl;

    interface GlowFormat
    {
        CONST_VTBL struct GlowFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define GlowFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define GlowFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define GlowFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define GlowFormat_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define GlowFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define GlowFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define GlowFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define GlowFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define GlowFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define GlowFormat_get_Radius(This,Radius)	\
    ( (This)->lpVtbl -> get_Radius(This,Radius) ) 

#define GlowFormat_put_Radius(This,Radius)	\
    ( (This)->lpVtbl -> put_Radius(This,Radius) ) 

#define GlowFormat_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define GlowFormat_get_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> get_Transparency(This,Transparency) ) 

#define GlowFormat_put_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> put_Transparency(This,Transparency) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __GlowFormat_INTERFACE_DEFINED__ */


#ifndef __ReflectionFormat_INTERFACE_DEFINED__
#define __ReflectionFormat_INTERFACE_DEFINED__

/* interface ReflectionFormat */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_ReflectionFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03BE-0000-0000-C000-000000000046")
    ReflectionFormat : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoReflectionType *Type) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ MsoReflectionType Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Transparency( 
            /* [retval][out] */ single *Transparency) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Transparency( 
            /* [in] */ single Transparency) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ single *Size) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Size( 
            /* [in] */ single Size) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Offset( 
            /* [retval][out] */ single *Offset) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Offset( 
            /* [in] */ single Offset) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Blur( 
            /* [retval][out] */ single *Blur) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Blur( 
            /* [in] */ single Blur) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ReflectionFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ReflectionFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ReflectionFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ReflectionFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ReflectionFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ReflectionFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ReflectionFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ReflectionFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ReflectionFormat * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ReflectionFormat * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ReflectionFormat * This,
            /* [retval][out] */ MsoReflectionType *Type);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            ReflectionFormat * This,
            /* [in] */ MsoReflectionType Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Transparency )( 
            ReflectionFormat * This,
            /* [retval][out] */ single *Transparency);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Transparency )( 
            ReflectionFormat * This,
            /* [in] */ single Transparency);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            ReflectionFormat * This,
            /* [retval][out] */ single *Size);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Size )( 
            ReflectionFormat * This,
            /* [in] */ single Size);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Offset )( 
            ReflectionFormat * This,
            /* [retval][out] */ single *Offset);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Offset )( 
            ReflectionFormat * This,
            /* [in] */ single Offset);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Blur )( 
            ReflectionFormat * This,
            /* [retval][out] */ single *Blur);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Blur )( 
            ReflectionFormat * This,
            /* [in] */ single Blur);
        
        END_INTERFACE
    } ReflectionFormatVtbl;

    interface ReflectionFormat
    {
        CONST_VTBL struct ReflectionFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ReflectionFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ReflectionFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ReflectionFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ReflectionFormat_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ReflectionFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ReflectionFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ReflectionFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ReflectionFormat_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ReflectionFormat_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ReflectionFormat_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define ReflectionFormat_put_Type(This,Type)	\
    ( (This)->lpVtbl -> put_Type(This,Type) ) 

#define ReflectionFormat_get_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> get_Transparency(This,Transparency) ) 

#define ReflectionFormat_put_Transparency(This,Transparency)	\
    ( (This)->lpVtbl -> put_Transparency(This,Transparency) ) 

#define ReflectionFormat_get_Size(This,Size)	\
    ( (This)->lpVtbl -> get_Size(This,Size) ) 

#define ReflectionFormat_put_Size(This,Size)	\
    ( (This)->lpVtbl -> put_Size(This,Size) ) 

#define ReflectionFormat_get_Offset(This,Offset)	\
    ( (This)->lpVtbl -> get_Offset(This,Offset) ) 

#define ReflectionFormat_put_Offset(This,Offset)	\
    ( (This)->lpVtbl -> put_Offset(This,Offset) ) 

#define ReflectionFormat_get_Blur(This,Blur)	\
    ( (This)->lpVtbl -> get_Blur(This,Blur) ) 

#define ReflectionFormat_put_Blur(This,Blur)	\
    ( (This)->lpVtbl -> put_Blur(This,Blur) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ReflectionFormat_INTERFACE_DEFINED__ */


#ifndef __ParagraphFormat2_INTERFACE_DEFINED__
#define __ParagraphFormat2_INTERFACE_DEFINED__

/* interface ParagraphFormat2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_ParagraphFormat2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0399-0000-0000-C000-000000000046")
    ParagraphFormat2 : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Alignment( 
            /* [retval][out] */ MsoParagraphAlignment *Alignment) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Alignment( 
            /* [in] */ MsoParagraphAlignment Alignment) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BaselineAlignment( 
            /* [retval][out] */ MsoBaselineAlignment *BaselineAlignment) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BaselineAlignment( 
            /* [in] */ MsoBaselineAlignment BaselineAlignment) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Bullet( 
            /* [retval][out] */ BulletFormat2 **Bullet) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FarEastLineBreakLevel( 
            /* [retval][out] */ MsoTriState *Break) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FarEastLineBreakLevel( 
            /* [in] */ MsoTriState Break) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FirstLineIndent( 
            /* [retval][out] */ single *Indent) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FirstLineIndent( 
            /* [in] */ single Indent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HangingPunctuation( 
            /* [retval][out] */ MsoTriState *Hanging) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HangingPunctuation( 
            /* [in] */ MsoTriState Hanging) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_IndentLevel( 
            /* [retval][out] */ int *Level) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_IndentLevel( 
            /* [in] */ int Level) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LeftIndent( 
            /* [retval][out] */ single *Indent) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LeftIndent( 
            /* [in] */ single Indent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LineRuleAfter( 
            /* [retval][out] */ MsoTriState *LineRule) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LineRuleAfter( 
            /* [in] */ MsoTriState LineRule) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LineRuleBefore( 
            /* [retval][out] */ MsoTriState *LineRule) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LineRuleBefore( 
            /* [in] */ MsoTriState LineRule) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LineRuleWithin( 
            /* [retval][out] */ MsoTriState *LineRule) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LineRuleWithin( 
            /* [in] */ MsoTriState LineRule) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RightIndent( 
            /* [retval][out] */ single *Indent) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RightIndent( 
            /* [in] */ single Indent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SpaceAfter( 
            /* [retval][out] */ single *Space) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SpaceAfter( 
            /* [in] */ single Space) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SpaceBefore( 
            /* [retval][out] */ single *Space) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SpaceBefore( 
            /* [in] */ single Space) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SpaceWithin( 
            /* [retval][out] */ single *Space) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SpaceWithin( 
            /* [in] */ single Space) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TabStops( 
            /* [retval][out] */ TabStops2 **TabStops) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextDirection( 
            /* [retval][out] */ MsoTextDirection *Direction) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TextDirection( 
            /* [in] */ MsoTextDirection Direction) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WordWrap( 
            /* [retval][out] */ MsoTriState *WordWrap) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WordWrap( 
            /* [in] */ MsoTriState WordWrap) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ParagraphFormat2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ParagraphFormat2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ParagraphFormat2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ParagraphFormat2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ParagraphFormat2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ParagraphFormat2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ParagraphFormat2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ParagraphFormat2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Alignment )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ MsoParagraphAlignment *Alignment);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Alignment )( 
            ParagraphFormat2 * This,
            /* [in] */ MsoParagraphAlignment Alignment);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BaselineAlignment )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ MsoBaselineAlignment *BaselineAlignment);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BaselineAlignment )( 
            ParagraphFormat2 * This,
            /* [in] */ MsoBaselineAlignment BaselineAlignment);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Bullet )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ BulletFormat2 **Bullet);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FarEastLineBreakLevel )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ MsoTriState *Break);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FarEastLineBreakLevel )( 
            ParagraphFormat2 * This,
            /* [in] */ MsoTriState Break);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FirstLineIndent )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ single *Indent);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FirstLineIndent )( 
            ParagraphFormat2 * This,
            /* [in] */ single Indent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HangingPunctuation )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ MsoTriState *Hanging);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HangingPunctuation )( 
            ParagraphFormat2 * This,
            /* [in] */ MsoTriState Hanging);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IndentLevel )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ int *Level);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IndentLevel )( 
            ParagraphFormat2 * This,
            /* [in] */ int Level);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LeftIndent )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ single *Indent);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LeftIndent )( 
            ParagraphFormat2 * This,
            /* [in] */ single Indent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LineRuleAfter )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ MsoTriState *LineRule);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LineRuleAfter )( 
            ParagraphFormat2 * This,
            /* [in] */ MsoTriState LineRule);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LineRuleBefore )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ MsoTriState *LineRule);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LineRuleBefore )( 
            ParagraphFormat2 * This,
            /* [in] */ MsoTriState LineRule);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LineRuleWithin )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ MsoTriState *LineRule);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LineRuleWithin )( 
            ParagraphFormat2 * This,
            /* [in] */ MsoTriState LineRule);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RightIndent )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ single *Indent);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RightIndent )( 
            ParagraphFormat2 * This,
            /* [in] */ single Indent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SpaceAfter )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ single *Space);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SpaceAfter )( 
            ParagraphFormat2 * This,
            /* [in] */ single Space);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SpaceBefore )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ single *Space);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SpaceBefore )( 
            ParagraphFormat2 * This,
            /* [in] */ single Space);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SpaceWithin )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ single *Space);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SpaceWithin )( 
            ParagraphFormat2 * This,
            /* [in] */ single Space);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TabStops )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ TabStops2 **TabStops);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextDirection )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ MsoTextDirection *Direction);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TextDirection )( 
            ParagraphFormat2 * This,
            /* [in] */ MsoTextDirection Direction);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WordWrap )( 
            ParagraphFormat2 * This,
            /* [retval][out] */ MsoTriState *WordWrap);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WordWrap )( 
            ParagraphFormat2 * This,
            /* [in] */ MsoTriState WordWrap);
        
        END_INTERFACE
    } ParagraphFormat2Vtbl;

    interface ParagraphFormat2
    {
        CONST_VTBL struct ParagraphFormat2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ParagraphFormat2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ParagraphFormat2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ParagraphFormat2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ParagraphFormat2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ParagraphFormat2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ParagraphFormat2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ParagraphFormat2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ParagraphFormat2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ParagraphFormat2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ParagraphFormat2_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ParagraphFormat2_get_Alignment(This,Alignment)	\
    ( (This)->lpVtbl -> get_Alignment(This,Alignment) ) 

#define ParagraphFormat2_put_Alignment(This,Alignment)	\
    ( (This)->lpVtbl -> put_Alignment(This,Alignment) ) 

#define ParagraphFormat2_get_BaselineAlignment(This,BaselineAlignment)	\
    ( (This)->lpVtbl -> get_BaselineAlignment(This,BaselineAlignment) ) 

#define ParagraphFormat2_put_BaselineAlignment(This,BaselineAlignment)	\
    ( (This)->lpVtbl -> put_BaselineAlignment(This,BaselineAlignment) ) 

#define ParagraphFormat2_get_Bullet(This,Bullet)	\
    ( (This)->lpVtbl -> get_Bullet(This,Bullet) ) 

#define ParagraphFormat2_get_FarEastLineBreakLevel(This,Break)	\
    ( (This)->lpVtbl -> get_FarEastLineBreakLevel(This,Break) ) 

#define ParagraphFormat2_put_FarEastLineBreakLevel(This,Break)	\
    ( (This)->lpVtbl -> put_FarEastLineBreakLevel(This,Break) ) 

#define ParagraphFormat2_get_FirstLineIndent(This,Indent)	\
    ( (This)->lpVtbl -> get_FirstLineIndent(This,Indent) ) 

#define ParagraphFormat2_put_FirstLineIndent(This,Indent)	\
    ( (This)->lpVtbl -> put_FirstLineIndent(This,Indent) ) 

#define ParagraphFormat2_get_HangingPunctuation(This,Hanging)	\
    ( (This)->lpVtbl -> get_HangingPunctuation(This,Hanging) ) 

#define ParagraphFormat2_put_HangingPunctuation(This,Hanging)	\
    ( (This)->lpVtbl -> put_HangingPunctuation(This,Hanging) ) 

#define ParagraphFormat2_get_IndentLevel(This,Level)	\
    ( (This)->lpVtbl -> get_IndentLevel(This,Level) ) 

#define ParagraphFormat2_put_IndentLevel(This,Level)	\
    ( (This)->lpVtbl -> put_IndentLevel(This,Level) ) 

#define ParagraphFormat2_get_LeftIndent(This,Indent)	\
    ( (This)->lpVtbl -> get_LeftIndent(This,Indent) ) 

#define ParagraphFormat2_put_LeftIndent(This,Indent)	\
    ( (This)->lpVtbl -> put_LeftIndent(This,Indent) ) 

#define ParagraphFormat2_get_LineRuleAfter(This,LineRule)	\
    ( (This)->lpVtbl -> get_LineRuleAfter(This,LineRule) ) 

#define ParagraphFormat2_put_LineRuleAfter(This,LineRule)	\
    ( (This)->lpVtbl -> put_LineRuleAfter(This,LineRule) ) 

#define ParagraphFormat2_get_LineRuleBefore(This,LineRule)	\
    ( (This)->lpVtbl -> get_LineRuleBefore(This,LineRule) ) 

#define ParagraphFormat2_put_LineRuleBefore(This,LineRule)	\
    ( (This)->lpVtbl -> put_LineRuleBefore(This,LineRule) ) 

#define ParagraphFormat2_get_LineRuleWithin(This,LineRule)	\
    ( (This)->lpVtbl -> get_LineRuleWithin(This,LineRule) ) 

#define ParagraphFormat2_put_LineRuleWithin(This,LineRule)	\
    ( (This)->lpVtbl -> put_LineRuleWithin(This,LineRule) ) 

#define ParagraphFormat2_get_RightIndent(This,Indent)	\
    ( (This)->lpVtbl -> get_RightIndent(This,Indent) ) 

#define ParagraphFormat2_put_RightIndent(This,Indent)	\
    ( (This)->lpVtbl -> put_RightIndent(This,Indent) ) 

#define ParagraphFormat2_get_SpaceAfter(This,Space)	\
    ( (This)->lpVtbl -> get_SpaceAfter(This,Space) ) 

#define ParagraphFormat2_put_SpaceAfter(This,Space)	\
    ( (This)->lpVtbl -> put_SpaceAfter(This,Space) ) 

#define ParagraphFormat2_get_SpaceBefore(This,Space)	\
    ( (This)->lpVtbl -> get_SpaceBefore(This,Space) ) 

#define ParagraphFormat2_put_SpaceBefore(This,Space)	\
    ( (This)->lpVtbl -> put_SpaceBefore(This,Space) ) 

#define ParagraphFormat2_get_SpaceWithin(This,Space)	\
    ( (This)->lpVtbl -> get_SpaceWithin(This,Space) ) 

#define ParagraphFormat2_put_SpaceWithin(This,Space)	\
    ( (This)->lpVtbl -> put_SpaceWithin(This,Space) ) 

#define ParagraphFormat2_get_TabStops(This,TabStops)	\
    ( (This)->lpVtbl -> get_TabStops(This,TabStops) ) 

#define ParagraphFormat2_get_TextDirection(This,Direction)	\
    ( (This)->lpVtbl -> get_TextDirection(This,Direction) ) 

#define ParagraphFormat2_put_TextDirection(This,Direction)	\
    ( (This)->lpVtbl -> put_TextDirection(This,Direction) ) 

#define ParagraphFormat2_get_WordWrap(This,WordWrap)	\
    ( (This)->lpVtbl -> get_WordWrap(This,WordWrap) ) 

#define ParagraphFormat2_put_WordWrap(This,WordWrap)	\
    ( (This)->lpVtbl -> put_WordWrap(This,WordWrap) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ParagraphFormat2_INTERFACE_DEFINED__ */


#ifndef __Font2_INTERFACE_DEFINED__
#define __Font2_INTERFACE_DEFINED__

/* interface Font2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_Font2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C039A-0000-0000-C000-000000000046")
    Font2 : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Bold( 
            /* [retval][out] */ MsoTriState *Bold) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Bold( 
            /* [in] */ MsoTriState Bold) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Italic( 
            /* [retval][out] */ MsoTriState *Italic) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Italic( 
            /* [in] */ MsoTriState Italic) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Strike( 
            /* [retval][out] */ MsoTextStrike *Strike) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Strike( 
            /* [in] */ MsoTextStrike Strike) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Caps( 
            /* [retval][out] */ MsoTextCaps *Caps) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Caps( 
            /* [in] */ MsoTextCaps Caps) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutorotateNumbers( 
            /* [retval][out] */ MsoTriState *RotateNumbers) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutorotateNumbers( 
            /* [in] */ MsoTriState RotateNumbers) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BaselineOffset( 
            /* [retval][out] */ single *Offset) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BaselineOffset( 
            /* [in] */ single Offset) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Kerning( 
            /* [retval][out] */ single *KerningSize) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Kerning( 
            /* [in] */ single KerningSize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ single *Size) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Size( 
            /* [in] */ single Size) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Spacing( 
            /* [retval][out] */ single *Spacing) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Spacing( 
            /* [in] */ single Spacing) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UnderlineStyle( 
            /* [retval][out] */ MsoTextUnderlineType *Style) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_UnderlineStyle( 
            /* [in] */ MsoTextUnderlineType Style) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Allcaps( 
            /* [retval][out] */ MsoTriState *Allcaps) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Allcaps( 
            /* [in] */ MsoTriState Allcaps) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DoubleStrikeThrough( 
            /* [retval][out] */ MsoTriState *DoubleStrikeThrough) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DoubleStrikeThrough( 
            /* [in] */ MsoTriState DoubleStrikeThrough) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Equalize( 
            /* [retval][out] */ MsoTriState *Equalize) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Equalize( 
            /* [in] */ MsoTriState Equalize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ FillFormat **Fill) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Glow( 
            /* [retval][out] */ GlowFormat **Glow) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Reflection( 
            /* [retval][out] */ ReflectionFormat **Reflection) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Line( 
            /* [retval][out] */ LineFormat **Line) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Shadow( 
            /* [retval][out] */ ShadowFormat **Shadow) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Highlight( 
            /* [retval][out] */ ColorFormat **Highlight) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UnderlineColor( 
            /* [retval][out] */ ColorFormat **UnderlineColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Smallcaps( 
            /* [retval][out] */ MsoTriState *Smallcaps) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Smallcaps( 
            /* [in] */ MsoTriState Smallcaps) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SoftEdgeFormat( 
            /* [retval][out] */ MsoSoftEdgeType *SoftEdgeFormat) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SoftEdgeFormat( 
            /* [in] */ MsoSoftEdgeType SoftEdgeFormat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_StrikeThrough( 
            /* [retval][out] */ MsoTriState *StrikeThrough) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_StrikeThrough( 
            /* [in] */ MsoTriState StrikeThrough) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Subscript( 
            /* [retval][out] */ MsoTriState *Subscript) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Subscript( 
            /* [in] */ MsoTriState Subscript) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Superscript( 
            /* [retval][out] */ MsoTriState *Superscript) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Superscript( 
            /* [in] */ MsoTriState Superscript) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WordArtformat( 
            /* [retval][out] */ MsoPresetTextEffect *WordArtformat) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WordArtformat( 
            /* [in] */ MsoPresetTextEffect WordArtformat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Embeddable( 
            /* [retval][out] */ MsoTriState *Embeddable) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Embedded( 
            /* [retval][out] */ MsoTriState *Embedded) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NameAscii( 
            /* [retval][out] */ BSTR *NameAscii) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NameAscii( 
            /* [in] */ BSTR NameAscii) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NameComplexScript( 
            /* [retval][out] */ BSTR *NameComplexScript) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NameComplexScript( 
            /* [in] */ BSTR NameComplexScript) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NameFarEast( 
            /* [retval][out] */ BSTR *NameFarEast) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NameFarEast( 
            /* [in] */ BSTR NameFarEast) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NameOther( 
            /* [retval][out] */ BSTR *NameOther) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NameOther( 
            /* [in] */ BSTR NameOther) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct Font2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Font2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Font2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Font2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Font2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Font2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Font2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Font2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Font2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Font2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Font2 * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Bold )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *Bold);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Bold )( 
            Font2 * This,
            /* [in] */ MsoTriState Bold);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Italic )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *Italic);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Italic )( 
            Font2 * This,
            /* [in] */ MsoTriState Italic);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Strike )( 
            Font2 * This,
            /* [retval][out] */ MsoTextStrike *Strike);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Strike )( 
            Font2 * This,
            /* [in] */ MsoTextStrike Strike);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caps )( 
            Font2 * This,
            /* [retval][out] */ MsoTextCaps *Caps);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Caps )( 
            Font2 * This,
            /* [in] */ MsoTextCaps Caps);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutorotateNumbers )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *RotateNumbers);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutorotateNumbers )( 
            Font2 * This,
            /* [in] */ MsoTriState RotateNumbers);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BaselineOffset )( 
            Font2 * This,
            /* [retval][out] */ single *Offset);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BaselineOffset )( 
            Font2 * This,
            /* [in] */ single Offset);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Kerning )( 
            Font2 * This,
            /* [retval][out] */ single *KerningSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Kerning )( 
            Font2 * This,
            /* [in] */ single KerningSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            Font2 * This,
            /* [retval][out] */ single *Size);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Size )( 
            Font2 * This,
            /* [in] */ single Size);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Spacing )( 
            Font2 * This,
            /* [retval][out] */ single *Spacing);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Spacing )( 
            Font2 * This,
            /* [in] */ single Spacing);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UnderlineStyle )( 
            Font2 * This,
            /* [retval][out] */ MsoTextUnderlineType *Style);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UnderlineStyle )( 
            Font2 * This,
            /* [in] */ MsoTextUnderlineType Style);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Allcaps )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *Allcaps);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Allcaps )( 
            Font2 * This,
            /* [in] */ MsoTriState Allcaps);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoubleStrikeThrough )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *DoubleStrikeThrough);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoubleStrikeThrough )( 
            Font2 * This,
            /* [in] */ MsoTriState DoubleStrikeThrough);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Equalize )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *Equalize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Equalize )( 
            Font2 * This,
            /* [in] */ MsoTriState Equalize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            Font2 * This,
            /* [retval][out] */ FillFormat **Fill);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Glow )( 
            Font2 * This,
            /* [retval][out] */ GlowFormat **Glow);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Reflection )( 
            Font2 * This,
            /* [retval][out] */ ReflectionFormat **Reflection);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Line )( 
            Font2 * This,
            /* [retval][out] */ LineFormat **Line);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shadow )( 
            Font2 * This,
            /* [retval][out] */ ShadowFormat **Shadow);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Highlight )( 
            Font2 * This,
            /* [retval][out] */ ColorFormat **Highlight);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UnderlineColor )( 
            Font2 * This,
            /* [retval][out] */ ColorFormat **UnderlineColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Smallcaps )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *Smallcaps);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Smallcaps )( 
            Font2 * This,
            /* [in] */ MsoTriState Smallcaps);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SoftEdgeFormat )( 
            Font2 * This,
            /* [retval][out] */ MsoSoftEdgeType *SoftEdgeFormat);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SoftEdgeFormat )( 
            Font2 * This,
            /* [in] */ MsoSoftEdgeType SoftEdgeFormat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StrikeThrough )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *StrikeThrough);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StrikeThrough )( 
            Font2 * This,
            /* [in] */ MsoTriState StrikeThrough);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Subscript )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *Subscript);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Subscript )( 
            Font2 * This,
            /* [in] */ MsoTriState Subscript);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Superscript )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *Superscript);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Superscript )( 
            Font2 * This,
            /* [in] */ MsoTriState Superscript);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WordArtformat )( 
            Font2 * This,
            /* [retval][out] */ MsoPresetTextEffect *WordArtformat);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WordArtformat )( 
            Font2 * This,
            /* [in] */ MsoPresetTextEffect WordArtformat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Embeddable )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *Embeddable);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Embedded )( 
            Font2 * This,
            /* [retval][out] */ MsoTriState *Embedded);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            Font2 * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            Font2 * This,
            /* [in] */ BSTR Name);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NameAscii )( 
            Font2 * This,
            /* [retval][out] */ BSTR *NameAscii);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NameAscii )( 
            Font2 * This,
            /* [in] */ BSTR NameAscii);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NameComplexScript )( 
            Font2 * This,
            /* [retval][out] */ BSTR *NameComplexScript);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NameComplexScript )( 
            Font2 * This,
            /* [in] */ BSTR NameComplexScript);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NameFarEast )( 
            Font2 * This,
            /* [retval][out] */ BSTR *NameFarEast);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NameFarEast )( 
            Font2 * This,
            /* [in] */ BSTR NameFarEast);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NameOther )( 
            Font2 * This,
            /* [retval][out] */ BSTR *NameOther);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NameOther )( 
            Font2 * This,
            /* [in] */ BSTR NameOther);
        
        END_INTERFACE
    } Font2Vtbl;

    interface Font2
    {
        CONST_VTBL struct Font2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Font2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define Font2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define Font2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define Font2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define Font2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define Font2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define Font2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define Font2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Font2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Font2_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define Font2_get_Bold(This,Bold)	\
    ( (This)->lpVtbl -> get_Bold(This,Bold) ) 

#define Font2_put_Bold(This,Bold)	\
    ( (This)->lpVtbl -> put_Bold(This,Bold) ) 

#define Font2_get_Italic(This,Italic)	\
    ( (This)->lpVtbl -> get_Italic(This,Italic) ) 

#define Font2_put_Italic(This,Italic)	\
    ( (This)->lpVtbl -> put_Italic(This,Italic) ) 

#define Font2_get_Strike(This,Strike)	\
    ( (This)->lpVtbl -> get_Strike(This,Strike) ) 

#define Font2_put_Strike(This,Strike)	\
    ( (This)->lpVtbl -> put_Strike(This,Strike) ) 

#define Font2_get_Caps(This,Caps)	\
    ( (This)->lpVtbl -> get_Caps(This,Caps) ) 

#define Font2_put_Caps(This,Caps)	\
    ( (This)->lpVtbl -> put_Caps(This,Caps) ) 

#define Font2_get_AutorotateNumbers(This,RotateNumbers)	\
    ( (This)->lpVtbl -> get_AutorotateNumbers(This,RotateNumbers) ) 

#define Font2_put_AutorotateNumbers(This,RotateNumbers)	\
    ( (This)->lpVtbl -> put_AutorotateNumbers(This,RotateNumbers) ) 

#define Font2_get_BaselineOffset(This,Offset)	\
    ( (This)->lpVtbl -> get_BaselineOffset(This,Offset) ) 

#define Font2_put_BaselineOffset(This,Offset)	\
    ( (This)->lpVtbl -> put_BaselineOffset(This,Offset) ) 

#define Font2_get_Kerning(This,KerningSize)	\
    ( (This)->lpVtbl -> get_Kerning(This,KerningSize) ) 

#define Font2_put_Kerning(This,KerningSize)	\
    ( (This)->lpVtbl -> put_Kerning(This,KerningSize) ) 

#define Font2_get_Size(This,Size)	\
    ( (This)->lpVtbl -> get_Size(This,Size) ) 

#define Font2_put_Size(This,Size)	\
    ( (This)->lpVtbl -> put_Size(This,Size) ) 

#define Font2_get_Spacing(This,Spacing)	\
    ( (This)->lpVtbl -> get_Spacing(This,Spacing) ) 

#define Font2_put_Spacing(This,Spacing)	\
    ( (This)->lpVtbl -> put_Spacing(This,Spacing) ) 

#define Font2_get_UnderlineStyle(This,Style)	\
    ( (This)->lpVtbl -> get_UnderlineStyle(This,Style) ) 

#define Font2_put_UnderlineStyle(This,Style)	\
    ( (This)->lpVtbl -> put_UnderlineStyle(This,Style) ) 

#define Font2_get_Allcaps(This,Allcaps)	\
    ( (This)->lpVtbl -> get_Allcaps(This,Allcaps) ) 

#define Font2_put_Allcaps(This,Allcaps)	\
    ( (This)->lpVtbl -> put_Allcaps(This,Allcaps) ) 

#define Font2_get_DoubleStrikeThrough(This,DoubleStrikeThrough)	\
    ( (This)->lpVtbl -> get_DoubleStrikeThrough(This,DoubleStrikeThrough) ) 

#define Font2_put_DoubleStrikeThrough(This,DoubleStrikeThrough)	\
    ( (This)->lpVtbl -> put_DoubleStrikeThrough(This,DoubleStrikeThrough) ) 

#define Font2_get_Equalize(This,Equalize)	\
    ( (This)->lpVtbl -> get_Equalize(This,Equalize) ) 

#define Font2_put_Equalize(This,Equalize)	\
    ( (This)->lpVtbl -> put_Equalize(This,Equalize) ) 

#define Font2_get_Fill(This,Fill)	\
    ( (This)->lpVtbl -> get_Fill(This,Fill) ) 

#define Font2_get_Glow(This,Glow)	\
    ( (This)->lpVtbl -> get_Glow(This,Glow) ) 

#define Font2_get_Reflection(This,Reflection)	\
    ( (This)->lpVtbl -> get_Reflection(This,Reflection) ) 

#define Font2_get_Line(This,Line)	\
    ( (This)->lpVtbl -> get_Line(This,Line) ) 

#define Font2_get_Shadow(This,Shadow)	\
    ( (This)->lpVtbl -> get_Shadow(This,Shadow) ) 

#define Font2_get_Highlight(This,Highlight)	\
    ( (This)->lpVtbl -> get_Highlight(This,Highlight) ) 

#define Font2_get_UnderlineColor(This,UnderlineColor)	\
    ( (This)->lpVtbl -> get_UnderlineColor(This,UnderlineColor) ) 

#define Font2_get_Smallcaps(This,Smallcaps)	\
    ( (This)->lpVtbl -> get_Smallcaps(This,Smallcaps) ) 

#define Font2_put_Smallcaps(This,Smallcaps)	\
    ( (This)->lpVtbl -> put_Smallcaps(This,Smallcaps) ) 

#define Font2_get_SoftEdgeFormat(This,SoftEdgeFormat)	\
    ( (This)->lpVtbl -> get_SoftEdgeFormat(This,SoftEdgeFormat) ) 

#define Font2_put_SoftEdgeFormat(This,SoftEdgeFormat)	\
    ( (This)->lpVtbl -> put_SoftEdgeFormat(This,SoftEdgeFormat) ) 

#define Font2_get_StrikeThrough(This,StrikeThrough)	\
    ( (This)->lpVtbl -> get_StrikeThrough(This,StrikeThrough) ) 

#define Font2_put_StrikeThrough(This,StrikeThrough)	\
    ( (This)->lpVtbl -> put_StrikeThrough(This,StrikeThrough) ) 

#define Font2_get_Subscript(This,Subscript)	\
    ( (This)->lpVtbl -> get_Subscript(This,Subscript) ) 

#define Font2_put_Subscript(This,Subscript)	\
    ( (This)->lpVtbl -> put_Subscript(This,Subscript) ) 

#define Font2_get_Superscript(This,Superscript)	\
    ( (This)->lpVtbl -> get_Superscript(This,Superscript) ) 

#define Font2_put_Superscript(This,Superscript)	\
    ( (This)->lpVtbl -> put_Superscript(This,Superscript) ) 

#define Font2_get_WordArtformat(This,WordArtformat)	\
    ( (This)->lpVtbl -> get_WordArtformat(This,WordArtformat) ) 

#define Font2_put_WordArtformat(This,WordArtformat)	\
    ( (This)->lpVtbl -> put_WordArtformat(This,WordArtformat) ) 

#define Font2_get_Embeddable(This,Embeddable)	\
    ( (This)->lpVtbl -> get_Embeddable(This,Embeddable) ) 

#define Font2_get_Embedded(This,Embedded)	\
    ( (This)->lpVtbl -> get_Embedded(This,Embedded) ) 

#define Font2_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define Font2_put_Name(This,Name)	\
    ( (This)->lpVtbl -> put_Name(This,Name) ) 

#define Font2_get_NameAscii(This,NameAscii)	\
    ( (This)->lpVtbl -> get_NameAscii(This,NameAscii) ) 

#define Font2_put_NameAscii(This,NameAscii)	\
    ( (This)->lpVtbl -> put_NameAscii(This,NameAscii) ) 

#define Font2_get_NameComplexScript(This,NameComplexScript)	\
    ( (This)->lpVtbl -> get_NameComplexScript(This,NameComplexScript) ) 

#define Font2_put_NameComplexScript(This,NameComplexScript)	\
    ( (This)->lpVtbl -> put_NameComplexScript(This,NameComplexScript) ) 

#define Font2_get_NameFarEast(This,NameFarEast)	\
    ( (This)->lpVtbl -> get_NameFarEast(This,NameFarEast) ) 

#define Font2_put_NameFarEast(This,NameFarEast)	\
    ( (This)->lpVtbl -> put_NameFarEast(This,NameFarEast) ) 

#define Font2_get_NameOther(This,NameOther)	\
    ( (This)->lpVtbl -> get_NameOther(This,NameOther) ) 

#define Font2_put_NameOther(This,NameOther)	\
    ( (This)->lpVtbl -> put_NameOther(This,NameOther) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Font2_INTERFACE_DEFINED__ */


#ifndef __TextColumn2_INTERFACE_DEFINED__
#define __TextColumn2_INTERFACE_DEFINED__

/* interface TextColumn2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_TextColumn2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03B2-0000-0000-C000-000000000046")
    TextColumn2 : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Number( 
            /* [retval][out] */ int *Number) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Number( 
            /* [in] */ int Number) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Spacing( 
            /* [retval][out] */ single *Spacing) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Spacing( 
            /* [in] */ single Spacing) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextDirection( 
            /* [retval][out] */ MsoTextDirection *Direction) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TextDirection( 
            /* [in] */ MsoTextDirection Direction) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct TextColumn2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            TextColumn2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            TextColumn2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            TextColumn2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            TextColumn2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            TextColumn2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            TextColumn2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            TextColumn2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            TextColumn2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            TextColumn2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Number )( 
            TextColumn2 * This,
            /* [retval][out] */ int *Number);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Number )( 
            TextColumn2 * This,
            /* [in] */ int Number);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Spacing )( 
            TextColumn2 * This,
            /* [retval][out] */ single *Spacing);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Spacing )( 
            TextColumn2 * This,
            /* [in] */ single Spacing);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextDirection )( 
            TextColumn2 * This,
            /* [retval][out] */ MsoTextDirection *Direction);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TextDirection )( 
            TextColumn2 * This,
            /* [in] */ MsoTextDirection Direction);
        
        END_INTERFACE
    } TextColumn2Vtbl;

    interface TextColumn2
    {
        CONST_VTBL struct TextColumn2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define TextColumn2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define TextColumn2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define TextColumn2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define TextColumn2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define TextColumn2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define TextColumn2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define TextColumn2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define TextColumn2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define TextColumn2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define TextColumn2_get_Number(This,Number)	\
    ( (This)->lpVtbl -> get_Number(This,Number) ) 

#define TextColumn2_put_Number(This,Number)	\
    ( (This)->lpVtbl -> put_Number(This,Number) ) 

#define TextColumn2_get_Spacing(This,Spacing)	\
    ( (This)->lpVtbl -> get_Spacing(This,Spacing) ) 

#define TextColumn2_put_Spacing(This,Spacing)	\
    ( (This)->lpVtbl -> put_Spacing(This,Spacing) ) 

#define TextColumn2_get_TextDirection(This,Direction)	\
    ( (This)->lpVtbl -> get_TextDirection(This,Direction) ) 

#define TextColumn2_put_TextDirection(This,Direction)	\
    ( (This)->lpVtbl -> put_TextDirection(This,Direction) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __TextColumn2_INTERFACE_DEFINED__ */


#ifndef __TextRange2_INTERFACE_DEFINED__
#define __TextRange2_INTERFACE_DEFINED__

/* interface TextRange2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_TextRange2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0397-0000-0000-C000-000000000046")
    TextRange2 : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pbstrText) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR pbstrText) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ TextRange2 **Item) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Paragraphs( 
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Sentences( 
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Words( 
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Characters( 
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Lines( 
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Runs( 
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ParagraphFormat( 
            /* [retval][out] */ ParagraphFormat2 **Format) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Font( 
            /* [retval][out] */ Font2 **Font) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ int *Length) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Start( 
            /* [retval][out] */ int *Start) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BoundLeft( 
            /* [retval][out] */ single *BoundLeft) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BoundTop( 
            /* [retval][out] */ single *BoundTop) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BoundWidth( 
            /* [retval][out] */ single *BoundWidth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BoundHeight( 
            /* [retval][out] */ single *BoundHeight) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE TrimText( 
            /* [retval][out] */ TextRange2 **TrimText) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE InsertAfter( 
            /* [defaultvalue][optional][in] */ BSTR NewText,
            /* [retval][out] */ TextRange2 **TextRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE InsertBefore( 
            /* [defaultvalue][optional][in] */ BSTR NewText,
            /* [retval][out] */ TextRange2 **TextRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE InsertSymbol( 
            /* [in] */ BSTR FontName,
            /* [in] */ int CharNumber,
            /* [defaultvalue][optional][in] */ MsoTriState Unicode,
            /* [retval][out] */ TextRange2 **TextRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Cut( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Copy( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Paste( 
            /* [retval][out] */ TextRange2 **TextRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PasteSpecial( 
            /* [in] */ MsoClipboardFormat Format,
            /* [retval][out] */ TextRange2 **TextRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ChangeCase( 
            /* [in] */ MsoTextChangeCase Type) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddPeriods( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RemovePeriods( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ BSTR FindWhat,
            /* [defaultvalue][optional][in] */ int After,
            /* [defaultvalue][optional][in] */ MsoTriState MatchCase,
            /* [defaultvalue][optional][in] */ MsoTriState WholeWords,
            /* [retval][out] */ TextRange2 **TextRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Replace( 
            /* [in] */ BSTR FindWhat,
            /* [in] */ BSTR ReplaceWhat,
            /* [defaultvalue][optional][in] */ int After,
            /* [defaultvalue][optional][in] */ MsoTriState MatchCase,
            /* [defaultvalue][optional][in] */ MsoTriState WholeWords,
            /* [retval][out] */ TextRange2 **TextRange) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RotatedBounds( 
            /* [out] */ single *X1,
            /* [out] */ single *Y1,
            /* [out] */ single *X2,
            /* [out] */ single *Y2,
            /* [out] */ single *X3,
            /* [out] */ single *Y3,
            /* [out] */ single *x4,
            /* [out] */ single *y4) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LanguageID( 
            /* [retval][out] */ MsoLanguageID *LanguageID) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LanguageID( 
            /* [in] */ MsoLanguageID LanguageID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RtlRun( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE LtrRun( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MathZones( 
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE InsertChartField( 
            /* [in] */ MsoChartFieldType ChartFieldType,
            /* [defaultvalue][optional][in] */ BSTR Formula,
            /* [defaultvalue][optional][in] */ int Position,
            /* [retval][out] */ TextRange2 **Range) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct TextRange2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            TextRange2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            TextRange2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            TextRange2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            TextRange2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            TextRange2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            TextRange2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            TextRange2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            TextRange2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            TextRange2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            TextRange2 * This,
            /* [retval][out] */ BSTR *pbstrText);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            TextRange2 * This,
            /* [in] */ BSTR pbstrText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            TextRange2 * This,
            /* [retval][out] */ int *Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            TextRange2 * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ TextRange2 **Item);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            TextRange2 * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            TextRange2 * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Paragraphs )( 
            TextRange2 * This,
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Sentences )( 
            TextRange2 * This,
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Words )( 
            TextRange2 * This,
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Characters )( 
            TextRange2 * This,
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lines )( 
            TextRange2 * This,
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Runs )( 
            TextRange2 * This,
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ParagraphFormat )( 
            TextRange2 * This,
            /* [retval][out] */ ParagraphFormat2 **Format);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Font )( 
            TextRange2 * This,
            /* [retval][out] */ Font2 **Font);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            TextRange2 * This,
            /* [retval][out] */ int *Length);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Start )( 
            TextRange2 * This,
            /* [retval][out] */ int *Start);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BoundLeft )( 
            TextRange2 * This,
            /* [retval][out] */ single *BoundLeft);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BoundTop )( 
            TextRange2 * This,
            /* [retval][out] */ single *BoundTop);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BoundWidth )( 
            TextRange2 * This,
            /* [retval][out] */ single *BoundWidth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BoundHeight )( 
            TextRange2 * This,
            /* [retval][out] */ single *BoundHeight);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *TrimText )( 
            TextRange2 * This,
            /* [retval][out] */ TextRange2 **TrimText);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *InsertAfter )( 
            TextRange2 * This,
            /* [defaultvalue][optional][in] */ BSTR NewText,
            /* [retval][out] */ TextRange2 **TextRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *InsertBefore )( 
            TextRange2 * This,
            /* [defaultvalue][optional][in] */ BSTR NewText,
            /* [retval][out] */ TextRange2 **TextRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *InsertSymbol )( 
            TextRange2 * This,
            /* [in] */ BSTR FontName,
            /* [in] */ int CharNumber,
            /* [defaultvalue][optional][in] */ MsoTriState Unicode,
            /* [retval][out] */ TextRange2 **TextRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            TextRange2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Cut )( 
            TextRange2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            TextRange2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            TextRange2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Paste )( 
            TextRange2 * This,
            /* [retval][out] */ TextRange2 **TextRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PasteSpecial )( 
            TextRange2 * This,
            /* [in] */ MsoClipboardFormat Format,
            /* [retval][out] */ TextRange2 **TextRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ChangeCase )( 
            TextRange2 * This,
            /* [in] */ MsoTextChangeCase Type);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddPeriods )( 
            TextRange2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RemovePeriods )( 
            TextRange2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Find )( 
            TextRange2 * This,
            /* [in] */ BSTR FindWhat,
            /* [defaultvalue][optional][in] */ int After,
            /* [defaultvalue][optional][in] */ MsoTriState MatchCase,
            /* [defaultvalue][optional][in] */ MsoTriState WholeWords,
            /* [retval][out] */ TextRange2 **TextRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Replace )( 
            TextRange2 * This,
            /* [in] */ BSTR FindWhat,
            /* [in] */ BSTR ReplaceWhat,
            /* [defaultvalue][optional][in] */ int After,
            /* [defaultvalue][optional][in] */ MsoTriState MatchCase,
            /* [defaultvalue][optional][in] */ MsoTriState WholeWords,
            /* [retval][out] */ TextRange2 **TextRange);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RotatedBounds )( 
            TextRange2 * This,
            /* [out] */ single *X1,
            /* [out] */ single *Y1,
            /* [out] */ single *X2,
            /* [out] */ single *Y2,
            /* [out] */ single *X3,
            /* [out] */ single *Y3,
            /* [out] */ single *x4,
            /* [out] */ single *y4);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LanguageID )( 
            TextRange2 * This,
            /* [retval][out] */ MsoLanguageID *LanguageID);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LanguageID )( 
            TextRange2 * This,
            /* [in] */ MsoLanguageID LanguageID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RtlRun )( 
            TextRange2 * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *LtrRun )( 
            TextRange2 * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MathZones )( 
            TextRange2 * This,
            /* [defaultvalue][optional][in] */ int Start,
            /* [defaultvalue][optional][in] */ int Length,
            /* [retval][out] */ TextRange2 **Range);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *InsertChartField )( 
            TextRange2 * This,
            /* [in] */ MsoChartFieldType ChartFieldType,
            /* [defaultvalue][optional][in] */ BSTR Formula,
            /* [defaultvalue][optional][in] */ int Position,
            /* [retval][out] */ TextRange2 **Range);
        
        END_INTERFACE
    } TextRange2Vtbl;

    interface TextRange2
    {
        CONST_VTBL struct TextRange2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define TextRange2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define TextRange2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define TextRange2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define TextRange2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define TextRange2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define TextRange2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define TextRange2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define TextRange2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define TextRange2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define TextRange2_get_Text(This,pbstrText)	\
    ( (This)->lpVtbl -> get_Text(This,pbstrText) ) 

#define TextRange2_put_Text(This,pbstrText)	\
    ( (This)->lpVtbl -> put_Text(This,pbstrText) ) 

#define TextRange2_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define TextRange2_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> Item(This,Index,Item) ) 

#define TextRange2_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define TextRange2_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define TextRange2_get_Paragraphs(This,Start,Length,Range)	\
    ( (This)->lpVtbl -> get_Paragraphs(This,Start,Length,Range) ) 

#define TextRange2_get_Sentences(This,Start,Length,Range)	\
    ( (This)->lpVtbl -> get_Sentences(This,Start,Length,Range) ) 

#define TextRange2_get_Words(This,Start,Length,Range)	\
    ( (This)->lpVtbl -> get_Words(This,Start,Length,Range) ) 

#define TextRange2_get_Characters(This,Start,Length,Range)	\
    ( (This)->lpVtbl -> get_Characters(This,Start,Length,Range) ) 

#define TextRange2_get_Lines(This,Start,Length,Range)	\
    ( (This)->lpVtbl -> get_Lines(This,Start,Length,Range) ) 

#define TextRange2_get_Runs(This,Start,Length,Range)	\
    ( (This)->lpVtbl -> get_Runs(This,Start,Length,Range) ) 

#define TextRange2_get_ParagraphFormat(This,Format)	\
    ( (This)->lpVtbl -> get_ParagraphFormat(This,Format) ) 

#define TextRange2_get_Font(This,Font)	\
    ( (This)->lpVtbl -> get_Font(This,Font) ) 

#define TextRange2_get_Length(This,Length)	\
    ( (This)->lpVtbl -> get_Length(This,Length) ) 

#define TextRange2_get_Start(This,Start)	\
    ( (This)->lpVtbl -> get_Start(This,Start) ) 

#define TextRange2_get_BoundLeft(This,BoundLeft)	\
    ( (This)->lpVtbl -> get_BoundLeft(This,BoundLeft) ) 

#define TextRange2_get_BoundTop(This,BoundTop)	\
    ( (This)->lpVtbl -> get_BoundTop(This,BoundTop) ) 

#define TextRange2_get_BoundWidth(This,BoundWidth)	\
    ( (This)->lpVtbl -> get_BoundWidth(This,BoundWidth) ) 

#define TextRange2_get_BoundHeight(This,BoundHeight)	\
    ( (This)->lpVtbl -> get_BoundHeight(This,BoundHeight) ) 

#define TextRange2_TrimText(This,TrimText)	\
    ( (This)->lpVtbl -> TrimText(This,TrimText) ) 

#define TextRange2_InsertAfter(This,NewText,TextRange)	\
    ( (This)->lpVtbl -> InsertAfter(This,NewText,TextRange) ) 

#define TextRange2_InsertBefore(This,NewText,TextRange)	\
    ( (This)->lpVtbl -> InsertBefore(This,NewText,TextRange) ) 

#define TextRange2_InsertSymbol(This,FontName,CharNumber,Unicode,TextRange)	\
    ( (This)->lpVtbl -> InsertSymbol(This,FontName,CharNumber,Unicode,TextRange) ) 

#define TextRange2_Select(This)	\
    ( (This)->lpVtbl -> Select(This) ) 

#define TextRange2_Cut(This)	\
    ( (This)->lpVtbl -> Cut(This) ) 

#define TextRange2_Copy(This)	\
    ( (This)->lpVtbl -> Copy(This) ) 

#define TextRange2_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define TextRange2_Paste(This,TextRange)	\
    ( (This)->lpVtbl -> Paste(This,TextRange) ) 

#define TextRange2_PasteSpecial(This,Format,TextRange)	\
    ( (This)->lpVtbl -> PasteSpecial(This,Format,TextRange) ) 

#define TextRange2_ChangeCase(This,Type)	\
    ( (This)->lpVtbl -> ChangeCase(This,Type) ) 

#define TextRange2_AddPeriods(This)	\
    ( (This)->lpVtbl -> AddPeriods(This) ) 

#define TextRange2_RemovePeriods(This)	\
    ( (This)->lpVtbl -> RemovePeriods(This) ) 

#define TextRange2_Find(This,FindWhat,After,MatchCase,WholeWords,TextRange)	\
    ( (This)->lpVtbl -> Find(This,FindWhat,After,MatchCase,WholeWords,TextRange) ) 

#define TextRange2_Replace(This,FindWhat,ReplaceWhat,After,MatchCase,WholeWords,TextRange)	\
    ( (This)->lpVtbl -> Replace(This,FindWhat,ReplaceWhat,After,MatchCase,WholeWords,TextRange) ) 

#define TextRange2_RotatedBounds(This,X1,Y1,X2,Y2,X3,Y3,x4,y4)	\
    ( (This)->lpVtbl -> RotatedBounds(This,X1,Y1,X2,Y2,X3,Y3,x4,y4) ) 

#define TextRange2_get_LanguageID(This,LanguageID)	\
    ( (This)->lpVtbl -> get_LanguageID(This,LanguageID) ) 

#define TextRange2_put_LanguageID(This,LanguageID)	\
    ( (This)->lpVtbl -> put_LanguageID(This,LanguageID) ) 

#define TextRange2_RtlRun(This)	\
    ( (This)->lpVtbl -> RtlRun(This) ) 

#define TextRange2_LtrRun(This)	\
    ( (This)->lpVtbl -> LtrRun(This) ) 

#define TextRange2_get_MathZones(This,Start,Length,Range)	\
    ( (This)->lpVtbl -> get_MathZones(This,Start,Length,Range) ) 

#define TextRange2_InsertChartField(This,ChartFieldType,Formula,Position,Range)	\
    ( (This)->lpVtbl -> InsertChartField(This,ChartFieldType,Formula,Position,Range) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __TextRange2_INTERFACE_DEFINED__ */


#ifndef __TextFrame2_INTERFACE_DEFINED__
#define __TextFrame2_INTERFACE_DEFINED__

/* interface TextFrame2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_TextFrame2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0398-0000-0000-C000-000000000046")
    TextFrame2 : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MarginBottom( 
            /* [retval][out] */ single *MarginBottom) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MarginBottom( 
            /* [in] */ single MarginBottom) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MarginLeft( 
            /* [retval][out] */ single *MarginLeft) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MarginLeft( 
            /* [in] */ single MarginLeft) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MarginRight( 
            /* [retval][out] */ single *MarginRight) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MarginRight( 
            /* [in] */ single MarginRight) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MarginTop( 
            /* [retval][out] */ single *MarginTop) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MarginTop( 
            /* [in] */ single MarginTop) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Orientation( 
            /* [retval][out] */ MsoTextOrientation *Orientation) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Orientation( 
            /* [in] */ MsoTextOrientation Orientation) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HorizontalAnchor( 
            /* [retval][out] */ MsoHorizontalAnchor *HorizontalAnchor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HorizontalAnchor( 
            /* [in] */ MsoHorizontalAnchor HorizontalAnchor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_VerticalAnchor( 
            /* [retval][out] */ MsoVerticalAnchor *VerticalAnchor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_VerticalAnchor( 
            /* [in] */ MsoVerticalAnchor VerticalAnchor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PathFormat( 
            /* [retval][out] */ MsoPathFormat *PathFormat) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PathFormat( 
            /* [in] */ MsoPathFormat PathFormat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WarpFormat( 
            /* [retval][out] */ MsoWarpFormat *WarpFormat) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WarpFormat( 
            /* [in] */ MsoWarpFormat WarpFormat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WordArtformat( 
            /* [retval][out] */ MsoPresetTextEffect *WordArtformat) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WordArtformat( 
            /* [in] */ MsoPresetTextEffect WordArtformat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_WordWrap( 
            /* [retval][out] */ MsoTriState *WordWrap) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_WordWrap( 
            /* [in] */ MsoTriState WordWrap) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoSize( 
            /* [retval][out] */ MsoAutoSize *AutoSize) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoSize( 
            /* [in] */ MsoAutoSize AutoSize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ThreeD( 
            /* [retval][out] */ ThreeDFormat **ThreeD) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasText( 
            /* [retval][out] */ MsoTriState *pHasText) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextRange( 
            /* [retval][out] */ TextRange2 **Range) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Column( 
            /* [retval][out] */ TextColumn2 **Column) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Ruler( 
            /* [retval][out] */ Ruler2 **Ruler) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE DeleteText( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NoTextRotation( 
            /* [retval][out] */ MsoTriState *NoTextRotation) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NoTextRotation( 
            /* [in] */ MsoTriState NoTextRotation) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct TextFrame2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            TextFrame2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            TextFrame2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            TextFrame2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            TextFrame2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            TextFrame2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            TextFrame2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            TextFrame2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            TextFrame2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            TextFrame2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            TextFrame2 * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarginBottom )( 
            TextFrame2 * This,
            /* [retval][out] */ single *MarginBottom);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarginBottom )( 
            TextFrame2 * This,
            /* [in] */ single MarginBottom);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarginLeft )( 
            TextFrame2 * This,
            /* [retval][out] */ single *MarginLeft);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarginLeft )( 
            TextFrame2 * This,
            /* [in] */ single MarginLeft);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarginRight )( 
            TextFrame2 * This,
            /* [retval][out] */ single *MarginRight);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarginRight )( 
            TextFrame2 * This,
            /* [in] */ single MarginRight);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MarginTop )( 
            TextFrame2 * This,
            /* [retval][out] */ single *MarginTop);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MarginTop )( 
            TextFrame2 * This,
            /* [in] */ single MarginTop);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Orientation )( 
            TextFrame2 * This,
            /* [retval][out] */ MsoTextOrientation *Orientation);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Orientation )( 
            TextFrame2 * This,
            /* [in] */ MsoTextOrientation Orientation);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalAnchor )( 
            TextFrame2 * This,
            /* [retval][out] */ MsoHorizontalAnchor *HorizontalAnchor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalAnchor )( 
            TextFrame2 * This,
            /* [in] */ MsoHorizontalAnchor HorizontalAnchor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalAnchor )( 
            TextFrame2 * This,
            /* [retval][out] */ MsoVerticalAnchor *VerticalAnchor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalAnchor )( 
            TextFrame2 * This,
            /* [in] */ MsoVerticalAnchor VerticalAnchor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PathFormat )( 
            TextFrame2 * This,
            /* [retval][out] */ MsoPathFormat *PathFormat);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PathFormat )( 
            TextFrame2 * This,
            /* [in] */ MsoPathFormat PathFormat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WarpFormat )( 
            TextFrame2 * This,
            /* [retval][out] */ MsoWarpFormat *WarpFormat);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WarpFormat )( 
            TextFrame2 * This,
            /* [in] */ MsoWarpFormat WarpFormat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WordArtformat )( 
            TextFrame2 * This,
            /* [retval][out] */ MsoPresetTextEffect *WordArtformat);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WordArtformat )( 
            TextFrame2 * This,
            /* [in] */ MsoPresetTextEffect WordArtformat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WordWrap )( 
            TextFrame2 * This,
            /* [retval][out] */ MsoTriState *WordWrap);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WordWrap )( 
            TextFrame2 * This,
            /* [in] */ MsoTriState WordWrap);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSize )( 
            TextFrame2 * This,
            /* [retval][out] */ MsoAutoSize *AutoSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSize )( 
            TextFrame2 * This,
            /* [in] */ MsoAutoSize AutoSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ThreeD )( 
            TextFrame2 * This,
            /* [retval][out] */ ThreeDFormat **ThreeD);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasText )( 
            TextFrame2 * This,
            /* [retval][out] */ MsoTriState *pHasText);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextRange )( 
            TextFrame2 * This,
            /* [retval][out] */ TextRange2 **Range);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Column )( 
            TextFrame2 * This,
            /* [retval][out] */ TextColumn2 **Column);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Ruler )( 
            TextFrame2 * This,
            /* [retval][out] */ Ruler2 **Ruler);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *DeleteText )( 
            TextFrame2 * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NoTextRotation )( 
            TextFrame2 * This,
            /* [retval][out] */ MsoTriState *NoTextRotation);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NoTextRotation )( 
            TextFrame2 * This,
            /* [in] */ MsoTriState NoTextRotation);
        
        END_INTERFACE
    } TextFrame2Vtbl;

    interface TextFrame2
    {
        CONST_VTBL struct TextFrame2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define TextFrame2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define TextFrame2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define TextFrame2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define TextFrame2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define TextFrame2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define TextFrame2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define TextFrame2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define TextFrame2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define TextFrame2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define TextFrame2_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define TextFrame2_get_MarginBottom(This,MarginBottom)	\
    ( (This)->lpVtbl -> get_MarginBottom(This,MarginBottom) ) 

#define TextFrame2_put_MarginBottom(This,MarginBottom)	\
    ( (This)->lpVtbl -> put_MarginBottom(This,MarginBottom) ) 

#define TextFrame2_get_MarginLeft(This,MarginLeft)	\
    ( (This)->lpVtbl -> get_MarginLeft(This,MarginLeft) ) 

#define TextFrame2_put_MarginLeft(This,MarginLeft)	\
    ( (This)->lpVtbl -> put_MarginLeft(This,MarginLeft) ) 

#define TextFrame2_get_MarginRight(This,MarginRight)	\
    ( (This)->lpVtbl -> get_MarginRight(This,MarginRight) ) 

#define TextFrame2_put_MarginRight(This,MarginRight)	\
    ( (This)->lpVtbl -> put_MarginRight(This,MarginRight) ) 

#define TextFrame2_get_MarginTop(This,MarginTop)	\
    ( (This)->lpVtbl -> get_MarginTop(This,MarginTop) ) 

#define TextFrame2_put_MarginTop(This,MarginTop)	\
    ( (This)->lpVtbl -> put_MarginTop(This,MarginTop) ) 

#define TextFrame2_get_Orientation(This,Orientation)	\
    ( (This)->lpVtbl -> get_Orientation(This,Orientation) ) 

#define TextFrame2_put_Orientation(This,Orientation)	\
    ( (This)->lpVtbl -> put_Orientation(This,Orientation) ) 

#define TextFrame2_get_HorizontalAnchor(This,HorizontalAnchor)	\
    ( (This)->lpVtbl -> get_HorizontalAnchor(This,HorizontalAnchor) ) 

#define TextFrame2_put_HorizontalAnchor(This,HorizontalAnchor)	\
    ( (This)->lpVtbl -> put_HorizontalAnchor(This,HorizontalAnchor) ) 

#define TextFrame2_get_VerticalAnchor(This,VerticalAnchor)	\
    ( (This)->lpVtbl -> get_VerticalAnchor(This,VerticalAnchor) ) 

#define TextFrame2_put_VerticalAnchor(This,VerticalAnchor)	\
    ( (This)->lpVtbl -> put_VerticalAnchor(This,VerticalAnchor) ) 

#define TextFrame2_get_PathFormat(This,PathFormat)	\
    ( (This)->lpVtbl -> get_PathFormat(This,PathFormat) ) 

#define TextFrame2_put_PathFormat(This,PathFormat)	\
    ( (This)->lpVtbl -> put_PathFormat(This,PathFormat) ) 

#define TextFrame2_get_WarpFormat(This,WarpFormat)	\
    ( (This)->lpVtbl -> get_WarpFormat(This,WarpFormat) ) 

#define TextFrame2_put_WarpFormat(This,WarpFormat)	\
    ( (This)->lpVtbl -> put_WarpFormat(This,WarpFormat) ) 

#define TextFrame2_get_WordArtformat(This,WordArtformat)	\
    ( (This)->lpVtbl -> get_WordArtformat(This,WordArtformat) ) 

#define TextFrame2_put_WordArtformat(This,WordArtformat)	\
    ( (This)->lpVtbl -> put_WordArtformat(This,WordArtformat) ) 

#define TextFrame2_get_WordWrap(This,WordWrap)	\
    ( (This)->lpVtbl -> get_WordWrap(This,WordWrap) ) 

#define TextFrame2_put_WordWrap(This,WordWrap)	\
    ( (This)->lpVtbl -> put_WordWrap(This,WordWrap) ) 

#define TextFrame2_get_AutoSize(This,AutoSize)	\
    ( (This)->lpVtbl -> get_AutoSize(This,AutoSize) ) 

#define TextFrame2_put_AutoSize(This,AutoSize)	\
    ( (This)->lpVtbl -> put_AutoSize(This,AutoSize) ) 

#define TextFrame2_get_ThreeD(This,ThreeD)	\
    ( (This)->lpVtbl -> get_ThreeD(This,ThreeD) ) 

#define TextFrame2_get_HasText(This,pHasText)	\
    ( (This)->lpVtbl -> get_HasText(This,pHasText) ) 

#define TextFrame2_get_TextRange(This,Range)	\
    ( (This)->lpVtbl -> get_TextRange(This,Range) ) 

#define TextFrame2_get_Column(This,Column)	\
    ( (This)->lpVtbl -> get_Column(This,Column) ) 

#define TextFrame2_get_Ruler(This,Ruler)	\
    ( (This)->lpVtbl -> get_Ruler(This,Ruler) ) 

#define TextFrame2_DeleteText(This)	\
    ( (This)->lpVtbl -> DeleteText(This) ) 

#define TextFrame2_get_NoTextRotation(This,NoTextRotation)	\
    ( (This)->lpVtbl -> get_NoTextRotation(This,NoTextRotation) ) 

#define TextFrame2_put_NoTextRotation(This,NoTextRotation)	\
    ( (This)->lpVtbl -> put_NoTextRotation(This,NoTextRotation) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __TextFrame2_INTERFACE_DEFINED__ */


#ifndef __ThemeColor_INTERFACE_DEFINED__
#define __ThemeColor_INTERFACE_DEFINED__

/* interface ThemeColor */
/* [object][oleautomation][dual][uuid] */ 


extern "C++" const IID IID_ThemeColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03A1-0000-0000-C000-000000000046")
    ThemeColor : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RGB( 
            /* [retval][out] */ MsoRGBType *RGB) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RGB( 
            /* [in] */ MsoRGBType RGB) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ThemeColorSchemeIndex( 
            /* [retval][out] */ MsoThemeColorSchemeIndex *pValue) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ThemeColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ThemeColor * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ThemeColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ThemeColor * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ThemeColor * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ThemeColor * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ThemeColor * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ThemeColor * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ThemeColor * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ThemeColor * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RGB )( 
            ThemeColor * This,
            /* [retval][out] */ MsoRGBType *RGB);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RGB )( 
            ThemeColor * This,
            /* [in] */ MsoRGBType RGB);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ThemeColor * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ThemeColorSchemeIndex )( 
            ThemeColor * This,
            /* [retval][out] */ MsoThemeColorSchemeIndex *pValue);
        
        END_INTERFACE
    } ThemeColorVtbl;

    interface ThemeColor
    {
        CONST_VTBL struct ThemeColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ThemeColor_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ThemeColor_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ThemeColor_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ThemeColor_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ThemeColor_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ThemeColor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ThemeColor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ThemeColor_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ThemeColor_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ThemeColor_get_RGB(This,RGB)	\
    ( (This)->lpVtbl -> get_RGB(This,RGB) ) 

#define ThemeColor_put_RGB(This,RGB)	\
    ( (This)->lpVtbl -> put_RGB(This,RGB) ) 

#define ThemeColor_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ThemeColor_get_ThemeColorSchemeIndex(This,pValue)	\
    ( (This)->lpVtbl -> get_ThemeColorSchemeIndex(This,pValue) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ThemeColor_INTERFACE_DEFINED__ */


#ifndef __ThemeColorScheme_INTERFACE_DEFINED__
#define __ThemeColorScheme_INTERFACE_DEFINED__

/* interface ThemeColorScheme */
/* [object][oleautomation][dual][uuid] */ 


extern "C++" const IID IID_ThemeColorScheme;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03A2-0000-0000-C000-000000000046")
    ThemeColorScheme : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Colors( 
            /* [in] */ MsoThemeColorSchemeIndex Index,
            /* [retval][out] */ ThemeColor **Color) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetCustomColor( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ MsoRGBType *CustomColor) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ThemeColorSchemeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ThemeColorScheme * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ThemeColorScheme * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ThemeColorScheme * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ThemeColorScheme * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ThemeColorScheme * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ThemeColorScheme * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ThemeColorScheme * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ThemeColorScheme * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ThemeColorScheme * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ThemeColorScheme * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ThemeColorScheme * This,
            /* [retval][out] */ int *Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Colors )( 
            ThemeColorScheme * This,
            /* [in] */ MsoThemeColorSchemeIndex Index,
            /* [retval][out] */ ThemeColor **Color);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            ThemeColorScheme * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            ThemeColorScheme * This,
            /* [in] */ BSTR FileName);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            ThemeColorScheme * This,
            /* [in] */ BSTR FileName);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetCustomColor )( 
            ThemeColorScheme * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ MsoRGBType *CustomColor);
        
        END_INTERFACE
    } ThemeColorSchemeVtbl;

    interface ThemeColorScheme
    {
        CONST_VTBL struct ThemeColorSchemeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ThemeColorScheme_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ThemeColorScheme_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ThemeColorScheme_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ThemeColorScheme_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ThemeColorScheme_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ThemeColorScheme_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ThemeColorScheme_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ThemeColorScheme_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ThemeColorScheme_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ThemeColorScheme_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ThemeColorScheme_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define ThemeColorScheme_Colors(This,Index,Color)	\
    ( (This)->lpVtbl -> Colors(This,Index,Color) ) 

#define ThemeColorScheme_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#define ThemeColorScheme_Load(This,FileName)	\
    ( (This)->lpVtbl -> Load(This,FileName) ) 

#define ThemeColorScheme_Save(This,FileName)	\
    ( (This)->lpVtbl -> Save(This,FileName) ) 

#define ThemeColorScheme_GetCustomColor(This,Name,CustomColor)	\
    ( (This)->lpVtbl -> GetCustomColor(This,Name,CustomColor) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ThemeColorScheme_INTERFACE_DEFINED__ */


#ifndef __ThemeFont_INTERFACE_DEFINED__
#define __ThemeFont_INTERFACE_DEFINED__

/* interface ThemeFont */
/* [object][oleautomation][dual][uuid] */ 


extern "C++" const IID IID_ThemeFont;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03A3-0000-0000-C000-000000000046")
    ThemeFont : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Val) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Val) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ThemeFontVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ThemeFont * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ThemeFont * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ThemeFont * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ThemeFont * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ThemeFont * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ThemeFont * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ThemeFont * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ThemeFont * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ThemeFont * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ThemeFont * This,
            /* [retval][out] */ BSTR *Val);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ThemeFont * This,
            /* [in] */ BSTR Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ThemeFont * This,
            /* [retval][out] */ IDispatch **Parent);
        
        END_INTERFACE
    } ThemeFontVtbl;

    interface ThemeFont
    {
        CONST_VTBL struct ThemeFontVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ThemeFont_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ThemeFont_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ThemeFont_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ThemeFont_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ThemeFont_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ThemeFont_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ThemeFont_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ThemeFont_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ThemeFont_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ThemeFont_get_Name(This,Val)	\
    ( (This)->lpVtbl -> get_Name(This,Val) ) 

#define ThemeFont_put_Name(This,Val)	\
    ( (This)->lpVtbl -> put_Name(This,Val) ) 

#define ThemeFont_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ThemeFont_INTERFACE_DEFINED__ */


#ifndef __ThemeFonts_INTERFACE_DEFINED__
#define __ThemeFonts_INTERFACE_DEFINED__

/* interface ThemeFonts */
/* [object][oleautomation][dual][uuid] */ 


extern "C++" const IID IID_ThemeFonts;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03A4-0000-0000-C000-000000000046")
    ThemeFonts : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ MsoFontLanguageIndex Index,
            /* [retval][out] */ ThemeFont **Val) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **ppienum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ThemeFontsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ThemeFonts * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ThemeFonts * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ThemeFonts * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ThemeFonts * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ThemeFonts * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ThemeFonts * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ThemeFonts * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ThemeFonts * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ThemeFonts * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ThemeFonts * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ThemeFonts * This,
            /* [retval][out] */ int *Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            ThemeFonts * This,
            /* [in] */ MsoFontLanguageIndex Index,
            /* [retval][out] */ ThemeFont **Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            ThemeFonts * This,
            /* [retval][out] */ IUnknown **ppienum);
        
        END_INTERFACE
    } ThemeFontsVtbl;

    interface ThemeFonts
    {
        CONST_VTBL struct ThemeFontsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ThemeFonts_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ThemeFonts_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ThemeFonts_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ThemeFonts_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ThemeFonts_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ThemeFonts_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ThemeFonts_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ThemeFonts_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ThemeFonts_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ThemeFonts_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ThemeFonts_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define ThemeFonts_Item(This,Index,Val)	\
    ( (This)->lpVtbl -> Item(This,Index,Val) ) 

#define ThemeFonts_get__NewEnum(This,ppienum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,ppienum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ThemeFonts_INTERFACE_DEFINED__ */


#ifndef __ThemeFontScheme_INTERFACE_DEFINED__
#define __ThemeFontScheme_INTERFACE_DEFINED__

/* interface ThemeFontScheme */
/* [object][oleautomation][dual][uuid] */ 


extern "C++" const IID IID_ThemeFontScheme;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03A5-0000-0000-C000-000000000046")
    ThemeFontScheme : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinorFont( 
            /* [retval][out] */ ThemeFonts **MinorFont) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MajorFont( 
            /* [retval][out] */ ThemeFonts **MajorFont) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ThemeFontSchemeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ThemeFontScheme * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ThemeFontScheme * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ThemeFontScheme * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ThemeFontScheme * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ThemeFontScheme * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ThemeFontScheme * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ThemeFontScheme * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ThemeFontScheme * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ThemeFontScheme * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ThemeFontScheme * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            ThemeFontScheme * This,
            /* [in] */ BSTR FileName);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            ThemeFontScheme * This,
            /* [in] */ BSTR FileName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinorFont )( 
            ThemeFontScheme * This,
            /* [retval][out] */ ThemeFonts **MinorFont);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MajorFont )( 
            ThemeFontScheme * This,
            /* [retval][out] */ ThemeFonts **MajorFont);
        
        END_INTERFACE
    } ThemeFontSchemeVtbl;

    interface ThemeFontScheme
    {
        CONST_VTBL struct ThemeFontSchemeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ThemeFontScheme_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ThemeFontScheme_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ThemeFontScheme_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ThemeFontScheme_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ThemeFontScheme_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ThemeFontScheme_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ThemeFontScheme_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ThemeFontScheme_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ThemeFontScheme_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ThemeFontScheme_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ThemeFontScheme_Load(This,FileName)	\
    ( (This)->lpVtbl -> Load(This,FileName) ) 

#define ThemeFontScheme_Save(This,FileName)	\
    ( (This)->lpVtbl -> Save(This,FileName) ) 

#define ThemeFontScheme_get_MinorFont(This,MinorFont)	\
    ( (This)->lpVtbl -> get_MinorFont(This,MinorFont) ) 

#define ThemeFontScheme_get_MajorFont(This,MajorFont)	\
    ( (This)->lpVtbl -> get_MajorFont(This,MajorFont) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ThemeFontScheme_INTERFACE_DEFINED__ */


#ifndef __ThemeEffectScheme_INTERFACE_DEFINED__
#define __ThemeEffectScheme_INTERFACE_DEFINED__

/* interface ThemeEffectScheme */
/* [object][oleautomation][dual][uuid] */ 


extern "C++" const IID IID_ThemeEffectScheme;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03A6-0000-0000-C000-000000000046")
    ThemeEffectScheme : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ BSTR FileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ThemeEffectSchemeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ThemeEffectScheme * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ThemeEffectScheme * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ThemeEffectScheme * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ThemeEffectScheme * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ThemeEffectScheme * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ThemeEffectScheme * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ThemeEffectScheme * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ThemeEffectScheme * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ThemeEffectScheme * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ThemeEffectScheme * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            ThemeEffectScheme * This,
            /* [in] */ BSTR FileName);
        
        END_INTERFACE
    } ThemeEffectSchemeVtbl;

    interface ThemeEffectScheme
    {
        CONST_VTBL struct ThemeEffectSchemeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ThemeEffectScheme_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ThemeEffectScheme_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ThemeEffectScheme_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ThemeEffectScheme_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ThemeEffectScheme_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ThemeEffectScheme_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ThemeEffectScheme_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ThemeEffectScheme_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ThemeEffectScheme_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ThemeEffectScheme_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define ThemeEffectScheme_Load(This,FileName)	\
    ( (This)->lpVtbl -> Load(This,FileName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ThemeEffectScheme_INTERFACE_DEFINED__ */


#ifndef __OfficeTheme_INTERFACE_DEFINED__
#define __OfficeTheme_INTERFACE_DEFINED__

/* interface OfficeTheme */
/* [object][oleautomation][dual][uuid] */ 


extern "C++" const IID IID_OfficeTheme;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03A0-0000-0000-C000-000000000046")
    OfficeTheme : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ThemeColorScheme( 
            /* [retval][out] */ ThemeColorScheme **ThemeColorScheme) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ThemeFontScheme( 
            /* [retval][out] */ ThemeFontScheme **ThemeFontScheme) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ThemeEffectScheme( 
            /* [retval][out] */ ThemeEffectScheme **ThemeEffectScheme) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct OfficeThemeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            OfficeTheme * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            OfficeTheme * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            OfficeTheme * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            OfficeTheme * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            OfficeTheme * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            OfficeTheme * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            OfficeTheme * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            OfficeTheme * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            OfficeTheme * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            OfficeTheme * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ThemeColorScheme )( 
            OfficeTheme * This,
            /* [retval][out] */ ThemeColorScheme **ThemeColorScheme);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ThemeFontScheme )( 
            OfficeTheme * This,
            /* [retval][out] */ ThemeFontScheme **ThemeFontScheme);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ThemeEffectScheme )( 
            OfficeTheme * This,
            /* [retval][out] */ ThemeEffectScheme **ThemeEffectScheme);
        
        END_INTERFACE
    } OfficeThemeVtbl;

    interface OfficeTheme
    {
        CONST_VTBL struct OfficeThemeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define OfficeTheme_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define OfficeTheme_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define OfficeTheme_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define OfficeTheme_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define OfficeTheme_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define OfficeTheme_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define OfficeTheme_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define OfficeTheme_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define OfficeTheme_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define OfficeTheme_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define OfficeTheme_get_ThemeColorScheme(This,ThemeColorScheme)	\
    ( (This)->lpVtbl -> get_ThemeColorScheme(This,ThemeColorScheme) ) 

#define OfficeTheme_get_ThemeFontScheme(This,ThemeFontScheme)	\
    ( (This)->lpVtbl -> get_ThemeFontScheme(This,ThemeFontScheme) ) 

#define OfficeTheme_get_ThemeEffectScheme(This,ThemeEffectScheme)	\
    ( (This)->lpVtbl -> get_ThemeEffectScheme(This,ThemeEffectScheme) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __OfficeTheme_INTERFACE_DEFINED__ */


#ifndef ___CustomTaskPane_INTERFACE_DEFINED__
#define ___CustomTaskPane_INTERFACE_DEFINED__

/* interface _CustomTaskPane */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID__CustomTaskPane;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C033B-0000-0000-C000-000000000046")
    _CustomTaskPane : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *prop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **prop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Window( 
            /* [retval][out] */ IDispatch **prop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *prop) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL prop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ContentControl( 
            /* [retval][out] */ IDispatch **prop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ int *prop) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ int prop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ int *prop) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ int prop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DockPosition( 
            /* [retval][out] */ MsoCTPDockPosition *prop) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DockPosition( 
            /* [in] */ MsoCTPDockPosition prop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DockPositionRestrict( 
            /* [retval][out] */ MsoCTPDockPositionRestrict *prop) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DockPositionRestrict( 
            /* [in] */ MsoCTPDockPositionRestrict prop) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct _CustomTaskPaneVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CustomTaskPane * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CustomTaskPane * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CustomTaskPane * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CustomTaskPane * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CustomTaskPane * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CustomTaskPane * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CustomTaskPane * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            _CustomTaskPane * This,
            /* [retval][out] */ BSTR *prop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            _CustomTaskPane * This,
            /* [retval][out] */ IDispatch **prop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Window )( 
            _CustomTaskPane * This,
            /* [retval][out] */ IDispatch **prop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            _CustomTaskPane * This,
            /* [retval][out] */ VARIANT_BOOL *prop);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            _CustomTaskPane * This,
            /* [in] */ VARIANT_BOOL prop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContentControl )( 
            _CustomTaskPane * This,
            /* [retval][out] */ IDispatch **prop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            _CustomTaskPane * This,
            /* [retval][out] */ int *prop);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            _CustomTaskPane * This,
            /* [in] */ int prop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            _CustomTaskPane * This,
            /* [retval][out] */ int *prop);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            _CustomTaskPane * This,
            /* [in] */ int prop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DockPosition )( 
            _CustomTaskPane * This,
            /* [retval][out] */ MsoCTPDockPosition *prop);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DockPosition )( 
            _CustomTaskPane * This,
            /* [in] */ MsoCTPDockPosition prop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DockPositionRestrict )( 
            _CustomTaskPane * This,
            /* [retval][out] */ MsoCTPDockPositionRestrict *prop);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DockPositionRestrict )( 
            _CustomTaskPane * This,
            /* [in] */ MsoCTPDockPositionRestrict prop);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            _CustomTaskPane * This);
        
        END_INTERFACE
    } _CustomTaskPaneVtbl;

    interface _CustomTaskPane
    {
        CONST_VTBL struct _CustomTaskPaneVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _CustomTaskPane_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _CustomTaskPane_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _CustomTaskPane_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _CustomTaskPane_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _CustomTaskPane_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _CustomTaskPane_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _CustomTaskPane_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define _CustomTaskPane_get_Title(This,prop)	\
    ( (This)->lpVtbl -> get_Title(This,prop) ) 

#define _CustomTaskPane_get_Application(This,prop)	\
    ( (This)->lpVtbl -> get_Application(This,prop) ) 

#define _CustomTaskPane_get_Window(This,prop)	\
    ( (This)->lpVtbl -> get_Window(This,prop) ) 

#define _CustomTaskPane_get_Visible(This,prop)	\
    ( (This)->lpVtbl -> get_Visible(This,prop) ) 

#define _CustomTaskPane_put_Visible(This,prop)	\
    ( (This)->lpVtbl -> put_Visible(This,prop) ) 

#define _CustomTaskPane_get_ContentControl(This,prop)	\
    ( (This)->lpVtbl -> get_ContentControl(This,prop) ) 

#define _CustomTaskPane_get_Height(This,prop)	\
    ( (This)->lpVtbl -> get_Height(This,prop) ) 

#define _CustomTaskPane_put_Height(This,prop)	\
    ( (This)->lpVtbl -> put_Height(This,prop) ) 

#define _CustomTaskPane_get_Width(This,prop)	\
    ( (This)->lpVtbl -> get_Width(This,prop) ) 

#define _CustomTaskPane_put_Width(This,prop)	\
    ( (This)->lpVtbl -> put_Width(This,prop) ) 

#define _CustomTaskPane_get_DockPosition(This,prop)	\
    ( (This)->lpVtbl -> get_DockPosition(This,prop) ) 

#define _CustomTaskPane_put_DockPosition(This,prop)	\
    ( (This)->lpVtbl -> put_DockPosition(This,prop) ) 

#define _CustomTaskPane_get_DockPositionRestrict(This,prop)	\
    ( (This)->lpVtbl -> get_DockPositionRestrict(This,prop) ) 

#define _CustomTaskPane_put_DockPositionRestrict(This,prop)	\
    ( (This)->lpVtbl -> put_DockPositionRestrict(This,prop) ) 

#define _CustomTaskPane_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* ___CustomTaskPane_INTERFACE_DEFINED__ */


#ifndef __CustomTaskPaneEvents_INTERFACE_DEFINED__
#define __CustomTaskPaneEvents_INTERFACE_DEFINED__

/* interface CustomTaskPaneEvents */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_CustomTaskPaneEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7FFFFFFF-FC6B-4D4A-926E-3A3689562C1C")
    CustomTaskPaneEvents : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE VisibleStateChange( 
            /* [in] */ _CustomTaskPane *CustomTaskPaneInst) = 0;
        
        virtual /* [helpcontext][id] */ void STDMETHODCALLTYPE DockPositionStateChange( 
            /* [in] */ _CustomTaskPane *CustomTaskPaneInst) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CustomTaskPaneEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CustomTaskPaneEvents * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CustomTaskPaneEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CustomTaskPaneEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CustomTaskPaneEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CustomTaskPaneEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CustomTaskPaneEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CustomTaskPaneEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ void ( STDMETHODCALLTYPE *VisibleStateChange )( 
            CustomTaskPaneEvents * This,
            /* [in] */ _CustomTaskPane *CustomTaskPaneInst);
        
        /* [helpcontext][id] */ void ( STDMETHODCALLTYPE *DockPositionStateChange )( 
            CustomTaskPaneEvents * This,
            /* [in] */ _CustomTaskPane *CustomTaskPaneInst);
        
        END_INTERFACE
    } CustomTaskPaneEventsVtbl;

    interface CustomTaskPaneEvents
    {
        CONST_VTBL struct CustomTaskPaneEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define CustomTaskPaneEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define CustomTaskPaneEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define CustomTaskPaneEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define CustomTaskPaneEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define CustomTaskPaneEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define CustomTaskPaneEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define CustomTaskPaneEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define CustomTaskPaneEvents_VisibleStateChange(This,CustomTaskPaneInst)	\
    ( (This)->lpVtbl -> VisibleStateChange(This,CustomTaskPaneInst) ) 

#define CustomTaskPaneEvents_DockPositionStateChange(This,CustomTaskPaneInst)	\
    ( (This)->lpVtbl -> DockPositionStateChange(This,CustomTaskPaneInst) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CustomTaskPaneEvents_INTERFACE_DEFINED__ */


#ifndef ___CustomTaskPaneEvents_DISPINTERFACE_DEFINED__
#define ___CustomTaskPaneEvents_DISPINTERFACE_DEFINED__

/* dispinterface _CustomTaskPaneEvents */
/* [hidden][uuid] */ 


extern "C++" const IID DIID__CustomTaskPaneEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("000C033C-0000-0000-C000-000000000046")
    _CustomTaskPaneEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _CustomTaskPaneEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _CustomTaskPaneEvents * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _CustomTaskPaneEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _CustomTaskPaneEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _CustomTaskPaneEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _CustomTaskPaneEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _CustomTaskPaneEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _CustomTaskPaneEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _CustomTaskPaneEventsVtbl;

    interface _CustomTaskPaneEvents
    {
        CONST_VTBL struct _CustomTaskPaneEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _CustomTaskPaneEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _CustomTaskPaneEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _CustomTaskPaneEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _CustomTaskPaneEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _CustomTaskPaneEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _CustomTaskPaneEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _CustomTaskPaneEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___CustomTaskPaneEvents_DISPINTERFACE_DEFINED__ */


#ifndef __ICTPFactory_INTERFACE_DEFINED__
#define __ICTPFactory_INTERFACE_DEFINED__

/* interface ICTPFactory */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_ICTPFactory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C033D-0000-0000-C000-000000000046")
    ICTPFactory : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CreateCTP( 
            /* [in] */ BSTR CTPAxID,
            /* [in] */ BSTR CTPTitle,
            /* [optional][in] */ VARIANT CTPParentWindow,
            /* [retval][out] */ _CustomTaskPane **CTPInst) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICTPFactoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICTPFactory * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICTPFactory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICTPFactory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICTPFactory * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICTPFactory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICTPFactory * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICTPFactory * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CreateCTP )( 
            ICTPFactory * This,
            /* [in] */ BSTR CTPAxID,
            /* [in] */ BSTR CTPTitle,
            /* [optional][in] */ VARIANT CTPParentWindow,
            /* [retval][out] */ _CustomTaskPane **CTPInst);
        
        END_INTERFACE
    } ICTPFactoryVtbl;

    interface ICTPFactory
    {
        CONST_VTBL struct ICTPFactoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICTPFactory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICTPFactory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICTPFactory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICTPFactory_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICTPFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICTPFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICTPFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICTPFactory_CreateCTP(This,CTPAxID,CTPTitle,CTPParentWindow,CTPInst)	\
    ( (This)->lpVtbl -> CreateCTP(This,CTPAxID,CTPTitle,CTPParentWindow,CTPInst) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICTPFactory_INTERFACE_DEFINED__ */


#ifndef __ICustomTaskPaneConsumer_INTERFACE_DEFINED__
#define __ICustomTaskPaneConsumer_INTERFACE_DEFINED__

/* interface ICustomTaskPaneConsumer */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_ICustomTaskPaneConsumer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C033E-0000-0000-C000-000000000046")
    ICustomTaskPaneConsumer : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CTPFactoryAvailable( 
            /* [in] */ ICTPFactory *CTPFactoryInst) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ICustomTaskPaneConsumerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICustomTaskPaneConsumer * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICustomTaskPaneConsumer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICustomTaskPaneConsumer * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ICustomTaskPaneConsumer * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ICustomTaskPaneConsumer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ICustomTaskPaneConsumer * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICustomTaskPaneConsumer * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CTPFactoryAvailable )( 
            ICustomTaskPaneConsumer * This,
            /* [in] */ ICTPFactory *CTPFactoryInst);
        
        END_INTERFACE
    } ICustomTaskPaneConsumerVtbl;

    interface ICustomTaskPaneConsumer
    {
        CONST_VTBL struct ICustomTaskPaneConsumerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICustomTaskPaneConsumer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICustomTaskPaneConsumer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICustomTaskPaneConsumer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICustomTaskPaneConsumer_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ICustomTaskPaneConsumer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ICustomTaskPaneConsumer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ICustomTaskPaneConsumer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ICustomTaskPaneConsumer_CTPFactoryAvailable(This,CTPFactoryInst)	\
    ( (This)->lpVtbl -> CTPFactoryAvailable(This,CTPFactoryInst) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICustomTaskPaneConsumer_INTERFACE_DEFINED__ */


#ifndef __IRibbonUI_INTERFACE_DEFINED__
#define __IRibbonUI_INTERFACE_DEFINED__

/* interface IRibbonUI */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_IRibbonUI;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03A7-0000-0000-C000-000000000046")
    IRibbonUI : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Invalidate( void) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE InvalidateControl( 
            /* [in] */ BSTR ControlID) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE InvalidateControlMso( 
            /* [in] */ BSTR ControlID) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ActivateTab( 
            /* [in] */ BSTR ControlID) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ActivateTabMso( 
            /* [in] */ BSTR ControlID) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ActivateTabQ( 
            /* [in] */ BSTR ControlID,
            /* [in] */ BSTR Namespace) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRibbonUIVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRibbonUI * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRibbonUI * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRibbonUI * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRibbonUI * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRibbonUI * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRibbonUI * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRibbonUI * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Invalidate )( 
            IRibbonUI * This);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InvalidateControl )( 
            IRibbonUI * This,
            /* [in] */ BSTR ControlID);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InvalidateControlMso )( 
            IRibbonUI * This,
            /* [in] */ BSTR ControlID);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ActivateTab )( 
            IRibbonUI * This,
            /* [in] */ BSTR ControlID);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ActivateTabMso )( 
            IRibbonUI * This,
            /* [in] */ BSTR ControlID);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ActivateTabQ )( 
            IRibbonUI * This,
            /* [in] */ BSTR ControlID,
            /* [in] */ BSTR Namespace);
        
        END_INTERFACE
    } IRibbonUIVtbl;

    interface IRibbonUI
    {
        CONST_VTBL struct IRibbonUIVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRibbonUI_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRibbonUI_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRibbonUI_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRibbonUI_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRibbonUI_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRibbonUI_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRibbonUI_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRibbonUI_Invalidate(This)	\
    ( (This)->lpVtbl -> Invalidate(This) ) 

#define IRibbonUI_InvalidateControl(This,ControlID)	\
    ( (This)->lpVtbl -> InvalidateControl(This,ControlID) ) 

#define IRibbonUI_InvalidateControlMso(This,ControlID)	\
    ( (This)->lpVtbl -> InvalidateControlMso(This,ControlID) ) 

#define IRibbonUI_ActivateTab(This,ControlID)	\
    ( (This)->lpVtbl -> ActivateTab(This,ControlID) ) 

#define IRibbonUI_ActivateTabMso(This,ControlID)	\
    ( (This)->lpVtbl -> ActivateTabMso(This,ControlID) ) 

#define IRibbonUI_ActivateTabQ(This,ControlID,Namespace)	\
    ( (This)->lpVtbl -> ActivateTabQ(This,ControlID,Namespace) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRibbonUI_INTERFACE_DEFINED__ */


#ifndef __IRibbonControl_INTERFACE_DEFINED__
#define __IRibbonControl_INTERFACE_DEFINED__

/* interface IRibbonControl */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_IRibbonControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0395-0000-0000-C000-000000000046")
    IRibbonControl : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *Id) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Context( 
            /* [retval][out] */ IDispatch **Context) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Tag( 
            /* [retval][out] */ BSTR *Tag) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRibbonControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRibbonControl * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRibbonControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRibbonControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRibbonControl * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRibbonControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRibbonControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRibbonControl * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            IRibbonControl * This,
            /* [retval][out] */ BSTR *Id);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Context )( 
            IRibbonControl * This,
            /* [retval][out] */ IDispatch **Context);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Tag )( 
            IRibbonControl * This,
            /* [retval][out] */ BSTR *Tag);
        
        END_INTERFACE
    } IRibbonControlVtbl;

    interface IRibbonControl
    {
        CONST_VTBL struct IRibbonControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRibbonControl_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRibbonControl_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRibbonControl_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRibbonControl_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRibbonControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRibbonControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRibbonControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRibbonControl_get_Id(This,Id)	\
    ( (This)->lpVtbl -> get_Id(This,Id) ) 

#define IRibbonControl_get_Context(This,Context)	\
    ( (This)->lpVtbl -> get_Context(This,Context) ) 

#define IRibbonControl_get_Tag(This,Tag)	\
    ( (This)->lpVtbl -> get_Tag(This,Tag) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRibbonControl_INTERFACE_DEFINED__ */


#ifndef __IRibbonExtensibility_INTERFACE_DEFINED__
#define __IRibbonExtensibility_INTERFACE_DEFINED__

/* interface IRibbonExtensibility */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_IRibbonExtensibility;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C0396-0000-0000-C000-000000000046")
    IRibbonExtensibility : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCustomUI( 
            /* [in] */ BSTR RibbonID,
            /* [retval][out] */ BSTR *RibbonXml) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IRibbonExtensibilityVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IRibbonExtensibility * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IRibbonExtensibility * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IRibbonExtensibility * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IRibbonExtensibility * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IRibbonExtensibility * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IRibbonExtensibility * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IRibbonExtensibility * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCustomUI )( 
            IRibbonExtensibility * This,
            /* [in] */ BSTR RibbonID,
            /* [retval][out] */ BSTR *RibbonXml);
        
        END_INTERFACE
    } IRibbonExtensibilityVtbl;

    interface IRibbonExtensibility
    {
        CONST_VTBL struct IRibbonExtensibilityVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IRibbonExtensibility_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IRibbonExtensibility_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IRibbonExtensibility_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IRibbonExtensibility_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IRibbonExtensibility_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IRibbonExtensibility_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IRibbonExtensibility_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IRibbonExtensibility_GetCustomUI(This,RibbonID,RibbonXml)	\
    ( (This)->lpVtbl -> GetCustomUI(This,RibbonID,RibbonXml) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IRibbonExtensibility_INTERFACE_DEFINED__ */


#ifndef __IAssistance_INTERFACE_DEFINED__
#define __IAssistance_INTERFACE_DEFINED__

/* interface IAssistance */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_IAssistance;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4291224C-DEFE-485B-8E69-6CF8AA85CB76")
    IAssistance : public IDispatch
    {
    public:
        virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowHelp( 
            /* [defaultvalue][optional][in] */ BSTR HelpId = (unsigned short*)u"",
            /* [defaultvalue][optional][in] */ BSTR Scope = (unsigned short*)u"") = 0;
        
        virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE SearchHelp( 
            /* [in] */ BSTR Query,
            /* [defaultvalue][optional][in] */ BSTR Scope = (unsigned short*)u"") = 0;
        
        virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE SetDefaultContext( 
            /* [in] */ BSTR HelpId) = 0;
        
        virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE ClearDefaultContext( 
            /* [in] */ BSTR HelpId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAssistanceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAssistance * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAssistance * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAssistance * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAssistance * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAssistance * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAssistance * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAssistance * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowHelp )( 
            IAssistance * This,
            /* [defaultvalue][optional][in] */ BSTR HelpId,
            /* [defaultvalue][optional][in] */ BSTR Scope);
        
        /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SearchHelp )( 
            IAssistance * This,
            /* [in] */ BSTR Query,
            /* [defaultvalue][optional][in] */ BSTR Scope);
        
        /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetDefaultContext )( 
            IAssistance * This,
            /* [in] */ BSTR HelpId);
        
        /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ClearDefaultContext )( 
            IAssistance * This,
            /* [in] */ BSTR HelpId);
        
        END_INTERFACE
    } IAssistanceVtbl;

    interface IAssistance
    {
        CONST_VTBL struct IAssistanceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAssistance_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAssistance_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAssistance_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAssistance_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAssistance_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAssistance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAssistance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAssistance_ShowHelp(This,HelpId,Scope)	\
    ( (This)->lpVtbl -> ShowHelp(This,HelpId,Scope) ) 

#define IAssistance_SearchHelp(This,Query,Scope)	\
    ( (This)->lpVtbl -> SearchHelp(This,Query,Scope) ) 

#define IAssistance_SetDefaultContext(This,HelpId)	\
    ( (This)->lpVtbl -> SetDefaultContext(This,HelpId) ) 

#define IAssistance_ClearDefaultContext(This,HelpId)	\
    ( (This)->lpVtbl -> ClearDefaultContext(This,HelpId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAssistance_INTERFACE_DEFINED__ */


#ifndef __IMsoChartData_INTERFACE_DEFINED__
#define __IMsoChartData_INTERFACE_DEFINED__

/* interface IMsoChartData */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoChartData;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C172F-0000-0000-C000-000000000046")
    IMsoChartData : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Workbook( 
            /* [retval][out] */ IDispatch **ppdispWorkbook) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Activate( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_IsLinked( 
            /* [retval][out] */ VARIANT_BOOL *pfIsLinked) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE BreakLink( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ActivateChartDataWindow( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoChartDataVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoChartData * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoChartData * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoChartData * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoChartData * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoChartData * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoChartData * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoChartData * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Workbook )( 
            IMsoChartData * This,
            /* [retval][out] */ IDispatch **ppdispWorkbook);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Activate )( 
            IMsoChartData * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsLinked )( 
            IMsoChartData * This,
            /* [retval][out] */ VARIANT_BOOL *pfIsLinked);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *BreakLink )( 
            IMsoChartData * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ActivateChartDataWindow )( 
            IMsoChartData * This);
        
        END_INTERFACE
    } IMsoChartDataVtbl;

    interface IMsoChartData
    {
        CONST_VTBL struct IMsoChartDataVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoChartData_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoChartData_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoChartData_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoChartData_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoChartData_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoChartData_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoChartData_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoChartData_get_Workbook(This,ppdispWorkbook)	\
    ( (This)->lpVtbl -> get_Workbook(This,ppdispWorkbook) ) 

#define IMsoChartData_Activate(This)	\
    ( (This)->lpVtbl -> Activate(This) ) 

#define IMsoChartData_get_IsLinked(This,pfIsLinked)	\
    ( (This)->lpVtbl -> get_IsLinked(This,pfIsLinked) ) 

#define IMsoChartData_BreakLink(This)	\
    ( (This)->lpVtbl -> BreakLink(This) ) 

#define IMsoChartData_ActivateChartDataWindow(This)	\
    ( (This)->lpVtbl -> ActivateChartDataWindow(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoChartData_INTERFACE_DEFINED__ */


#ifndef __IMsoChart_INTERFACE_DEFINED__
#define __IMsoChart_INTERFACE_DEFINED__

/* interface IMsoChart */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoChart;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1709-0000-0000-C000-000000000046")
    IMsoChart : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasTitle( 
            /* [in] */ VARIANT_BOOL fTitle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasTitle( 
            /* [retval][out] */ VARIANT_BOOL *fTitle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ChartTitle( 
            /* [retval][out] */ IMsoChartTitle **pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DepthPercent( 
            /* [retval][out] */ int *pwDepthPercent) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DepthPercent( 
            /* [in] */ int pwDepthPercent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Elevation( 
            /* [retval][out] */ int *pwElevation) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Elevation( 
            /* [in] */ int pwElevation) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GapDepth( 
            /* [retval][out] */ int *pwGapDepth) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_GapDepth( 
            /* [in] */ int pwGapDepth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HeightPercent( 
            /* [retval][out] */ int *pwHeightPercent) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HeightPercent( 
            /* [in] */ int pwHeightPercent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Perspective( 
            /* [retval][out] */ int *pwPerspective) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Perspective( 
            /* [in] */ int pwPerspective) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RightAngleAxes( 
            /* [retval][out] */ VARIANT *pvarRightAngleAxes) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RightAngleAxes( 
            /* [in] */ VARIANT pvarRightAngleAxes) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ VARIANT *pvarRotation) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ VARIANT pvarRotation) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayBlanksAs( 
            /* [in] */ XlDisplayBlanksAs pres) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayBlanksAs( 
            /* [retval][out] */ XlDisplayBlanksAs *pres) = 0;
        
        virtual /* [restricted][propput][id] */ HRESULT STDMETHODCALLTYPE put_ProtectData( 
            /* [in] */ VARIANT_BOOL pres) = 0;
        
        virtual /* [restricted][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProtectData( 
            /* [retval][out] */ VARIANT_BOOL *pres) = 0;
        
        virtual /* [restricted][propput][id] */ HRESULT STDMETHODCALLTYPE put_ProtectFormatting( 
            /* [in] */ VARIANT_BOOL pres) = 0;
        
        virtual /* [restricted][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProtectFormatting( 
            /* [retval][out] */ VARIANT_BOOL *pres) = 0;
        
        virtual /* [restricted][propput][id] */ HRESULT STDMETHODCALLTYPE put_ProtectGoalSeek( 
            /* [in] */ VARIANT_BOOL pres) = 0;
        
        virtual /* [restricted][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProtectGoalSeek( 
            /* [retval][out] */ VARIANT_BOOL *pres) = 0;
        
        virtual /* [restricted][propput][id] */ HRESULT STDMETHODCALLTYPE put_ProtectSelection( 
            /* [in] */ VARIANT_BOOL pres) = 0;
        
        virtual /* [restricted][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProtectSelection( 
            /* [retval][out] */ VARIANT_BOOL *pres) = 0;
        
        virtual /* [restricted][propput][id] */ HRESULT STDMETHODCALLTYPE put_ProtectChartObjects( 
            /* [in] */ VARIANT_BOOL pres) = 0;
        
        virtual /* [restricted][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProtectChartObjects( 
            /* [retval][out] */ VARIANT_BOOL *pres) = 0;
        
        virtual /* [restricted][id] */ HRESULT STDMETHODCALLTYPE UnProtect( 
            /* [optional][in] */ VARIANT Password) = 0;
        
        virtual /* [restricted][id] */ HRESULT STDMETHODCALLTYPE Protect( 
            /* [optional][in] */ VARIANT Password,
            /* [optional][in] */ VARIANT DrawingObjects,
            /* [optional][in] */ VARIANT Contents,
            /* [optional][in] */ VARIANT Scenarios,
            /* [optional][in] */ VARIANT UserInterfaceOnly) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChartGroups( 
            /* [optional][in] */ VARIANT *pvarIndex,
            /* [optional][in] */ VARIANT varIgallery,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SeriesCollection( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE _ApplyDataLabels( 
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_SubType( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_SubType( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Corners( 
            /* [retval][out] */ IMsoCorners **RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ApplyDataLabels( 
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines,
            /* [optional][in] */ VARIANT ShowSeriesName,
            /* [optional][in] */ VARIANT ShowCategoryName,
            /* [optional][in] */ VARIANT ShowValue,
            /* [optional][in] */ VARIANT ShowPercentage,
            /* [optional][in] */ VARIANT ShowBubbleSize,
            /* [optional][in] */ VARIANT Separator) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChartType( 
            /* [retval][out] */ XlChartType *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ChartType( 
            /* [in] */ XlChartType RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HasDataTable( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_HasDataTable( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ApplyCustomType( 
            /* [in] */ XlChartType ChartType,
            /* [optional][in] */ VARIANT TypeName) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetChartElement( 
            /* [in] */ long x,
            /* [in] */ long y,
            /* [out][in] */ long *ElementID,
            /* [out][in] */ long *Arg1,
            /* [out][in] */ long *Arg2) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetSourceData( 
            /* [in] */ BSTR Source,
            /* [optional][in] */ VARIANT PlotBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PlotBy( 
            /* [retval][out] */ XlRowCol *PlotBy) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PlotBy( 
            /* [in] */ XlRowCol PlotBy) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HasLegend( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_HasLegend( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Legend( 
            /* [retval][out] */ IMsoLegend **RHS) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Axes( 
            /* [optional][in] */ VARIANT Type,
            /* [defaultvalue][optional][in] */ XlAxisGroup AxisGroup,
            /* [retval][out] */ IDispatch **ppAxes) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasAxis( 
            /* [optional][in] */ VARIANT axisType,
            /* [optional][in] */ VARIANT AxisGroup,
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasAxis( 
            /* [optional][in] */ VARIANT axisType,
            /* [optional][in] */ VARIANT AxisGroup,
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Walls( 
            /* [defaultvalue][optional][in] */ VARIANT_BOOL fBackWall,
            /* [retval][out] */ IMsoWalls **ppwalls) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Floor( 
            /* [retval][out] */ IMsoFloor **ppfloor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PlotArea( 
            /* [retval][out] */ IMsoPlotArea **ppplotarea) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PlotVisibleOnly( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PlotVisibleOnly( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ChartArea( 
            /* [retval][out] */ IMsoChartArea **ppchartarea) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AutoFormat( 
            /* [in] */ long rGallery,
            /* [optional][in] */ VARIANT varFormat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoScaling( 
            /* [retval][out] */ VARIANT_BOOL *f) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoScaling( 
            /* [in] */ VARIANT_BOOL f) = 0;
        
        virtual /* [restricted][id] */ HRESULT STDMETHODCALLTYPE SetBackgroundPicture( 
            /* [in] */ BSTR bstr) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ChartWizard( 
            /* [optional][in] */ VARIANT varSource,
            /* [optional][in] */ VARIANT varGallery,
            /* [optional][in] */ VARIANT varFormat,
            /* [optional][in] */ VARIANT varPlotBy,
            /* [optional][in] */ VARIANT varCategoryLabels,
            /* [optional][in] */ VARIANT varSeriesLabels,
            /* [optional][in] */ VARIANT varHasLegend,
            /* [optional][in] */ VARIANT varTitle,
            /* [optional][in] */ VARIANT varCategoryTitle,
            /* [optional][in] */ VARIANT varValueTitle,
            /* [optional][in] */ VARIANT varExtraTitle,
            /* [lcid][in] */ long LocaleID) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CopyPicture( 
            /* [defaultvalue][optional][in] */ int Appearance,
            /* [defaultvalue][optional][in] */ int Format,
            /* [defaultvalue][optional][in] */ int Size,
            /* [lcid][in] */ long LocaleID) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DataTable( 
            /* [retval][out] */ IMsoDataTable **RHS) = 0;
        
        virtual /* [restricted][id] */ HRESULT STDMETHODCALLTYPE Evaluate( 
            /* [in] */ VARIANT varName,
            /* [in] */ long LocaleID,
            /* [out] */ long *ObjType,
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [restricted][id] */ HRESULT STDMETHODCALLTYPE _Evaluate( 
            /* [in] */ VARIANT varName,
            /* [in] */ long LocaleID,
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [restricted][id] */ HRESULT STDMETHODCALLTYPE Paste( 
            /* [optional][in] */ VARIANT varType,
            /* [lcid][in] */ long LocaleID) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BarShape( 
            /* [retval][out] */ XlBarShape *pShape) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BarShape( 
            /* [in] */ XlBarShape pShape) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Export( 
            /* [in] */ BSTR bstr,
            /* [optional][in] */ VARIANT varFilterName,
            /* [optional][in] */ VARIANT varInteractive,
            /* [retval][out] */ VARIANT_BOOL *f) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetDefaultChart( 
            /* [in] */ VARIANT varName) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ApplyChartTemplate( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SaveChartTemplate( 
            /* [in] */ BSTR bstrFileName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SideWall( 
            /* [retval][out] */ IMsoWalls **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_BackWall( 
            /* [retval][out] */ IMsoWalls **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChartStyle( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ChartStyle( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClearToMatchStyle( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PivotLayout( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_HasPivotFields( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_HasPivotFields( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE RefreshPivotTable( void) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShowDataLabelsOverMaximum( 
            /* [in] */ VARIANT_BOOL pRHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShowDataLabelsOverMaximum( 
            /* [retval][out] */ VARIANT_BOOL *pRHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ApplyLayout( 
            /* [in] */ long Layout,
            /* [optional][in] */ VARIANT varChartType) = 0;
        
        virtual /* [restricted][propget][id] */ HRESULT STDMETHODCALLTYPE get_Selection( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetElement( 
            /* [in] */ MsoChartElementType RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ChartData( 
            /* [retval][out] */ IMsoChartData **ppchartdata) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Shapes( 
            /* [retval][out] */ Shapes **ppShapes) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Area3DGroup( 
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE AreaGroups( 
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Bar3DGroup( 
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE BarGroups( 
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Column3DGroup( 
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE ColumnGroups( 
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Line3DGroup( 
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE LineGroups( 
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Pie3DGroup( 
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE PieGroups( 
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE DoughnutGroups( 
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE RadarGroups( 
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_SurfaceGroup( 
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS) = 0;
        
        virtual /* [helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE XYGroups( 
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Copy( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [optional][in] */ VARIANT Replace,
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShowReportFilterFieldButtons( 
            /* [retval][out] */ VARIANT_BOOL *res) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShowReportFilterFieldButtons( 
            /* [in] */ VARIANT_BOOL res) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShowLegendFieldButtons( 
            /* [retval][out] */ VARIANT_BOOL *res) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShowLegendFieldButtons( 
            /* [in] */ VARIANT_BOOL res) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShowAxisFieldButtons( 
            /* [retval][out] */ VARIANT_BOOL *res) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShowAxisFieldButtons( 
            /* [in] */ VARIANT_BOOL res) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShowValueFieldButtons( 
            /* [retval][out] */ VARIANT_BOOL *res) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShowValueFieldButtons( 
            /* [in] */ VARIANT_BOOL res) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShowAllFieldButtons( 
            /* [retval][out] */ VARIANT_BOOL *res) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShowAllFieldButtons( 
            /* [in] */ VARIANT_BOOL res) = 0;
        
        virtual /* [restricted][propput][id] */ HRESULT STDMETHODCALLTYPE put_ProtectChartSheetFormatting( 
            /* [in] */ VARIANT_BOOL rhs) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE FullSeriesCollection( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CategoryLabelLevel( 
            /* [in] */ XlCategoryLabelLevel plevel) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CategoryLabelLevel( 
            /* [retval][out] */ XlCategoryLabelLevel *plevel) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SeriesNameLevel( 
            /* [in] */ XlSeriesNameLevel plevel) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SeriesNameLevel( 
            /* [retval][out] */ XlSeriesNameLevel *plevel) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_HasHiddenContent( 
            /* [retval][out] */ VARIANT_BOOL *res) = 0;
        
        virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE DeleteHiddenContent( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ChartColor( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ChartColor( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClearToMatchColorStyle( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoChartVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoChart * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoChart * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoChart * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoChart * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoChart * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoChart * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoChart * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoChart * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasTitle )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL fTitle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasTitle )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *fTitle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChartTitle )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoChartTitle **pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DepthPercent )( 
            IMsoChart * This,
            /* [retval][out] */ int *pwDepthPercent);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DepthPercent )( 
            IMsoChart * This,
            /* [in] */ int pwDepthPercent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Elevation )( 
            IMsoChart * This,
            /* [retval][out] */ int *pwElevation);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Elevation )( 
            IMsoChart * This,
            /* [in] */ int pwElevation);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GapDepth )( 
            IMsoChart * This,
            /* [retval][out] */ int *pwGapDepth);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GapDepth )( 
            IMsoChart * This,
            /* [in] */ int pwGapDepth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HeightPercent )( 
            IMsoChart * This,
            /* [retval][out] */ int *pwHeightPercent);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HeightPercent )( 
            IMsoChart * This,
            /* [in] */ int pwHeightPercent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Perspective )( 
            IMsoChart * This,
            /* [retval][out] */ int *pwPerspective);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Perspective )( 
            IMsoChart * This,
            /* [in] */ int pwPerspective);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RightAngleAxes )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT *pvarRightAngleAxes);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RightAngleAxes )( 
            IMsoChart * This,
            /* [in] */ VARIANT pvarRightAngleAxes);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT *pvarRotation);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IMsoChart * This,
            /* [in] */ VARIANT pvarRotation);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayBlanksAs )( 
            IMsoChart * This,
            /* [in] */ XlDisplayBlanksAs pres);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayBlanksAs )( 
            IMsoChart * This,
            /* [retval][out] */ XlDisplayBlanksAs *pres);
        
        /* [restricted][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProtectData )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL pres);
        
        /* [restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProtectData )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *pres);
        
        /* [restricted][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProtectFormatting )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL pres);
        
        /* [restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProtectFormatting )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *pres);
        
        /* [restricted][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProtectGoalSeek )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL pres);
        
        /* [restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProtectGoalSeek )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *pres);
        
        /* [restricted][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProtectSelection )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL pres);
        
        /* [restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProtectSelection )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *pres);
        
        /* [restricted][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProtectChartObjects )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL pres);
        
        /* [restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProtectChartObjects )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *pres);
        
        /* [restricted][id] */ HRESULT ( STDMETHODCALLTYPE *UnProtect )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Password);
        
        /* [restricted][id] */ HRESULT ( STDMETHODCALLTYPE *Protect )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Password,
            /* [optional][in] */ VARIANT DrawingObjects,
            /* [optional][in] */ VARIANT Contents,
            /* [optional][in] */ VARIANT Scenarios,
            /* [optional][in] */ VARIANT UserInterfaceOnly);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChartGroups )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT *pvarIndex,
            /* [optional][in] */ VARIANT varIgallery,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SeriesCollection )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *_ApplyDataLabels )( 
            IMsoChart * This,
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SubType )( 
            IMsoChart * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SubType )( 
            IMsoChart * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMsoChart * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IMsoChart * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Corners )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoCorners **RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ApplyDataLabels )( 
            IMsoChart * This,
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines,
            /* [optional][in] */ VARIANT ShowSeriesName,
            /* [optional][in] */ VARIANT ShowCategoryName,
            /* [optional][in] */ VARIANT ShowValue,
            /* [optional][in] */ VARIANT ShowPercentage,
            /* [optional][in] */ VARIANT ShowBubbleSize,
            /* [optional][in] */ VARIANT Separator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChartType )( 
            IMsoChart * This,
            /* [retval][out] */ XlChartType *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ChartType )( 
            IMsoChart * This,
            /* [in] */ XlChartType RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasDataTable )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasDataTable )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ApplyCustomType )( 
            IMsoChart * This,
            /* [in] */ XlChartType ChartType,
            /* [optional][in] */ VARIANT TypeName);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetChartElement )( 
            IMsoChart * This,
            /* [in] */ long x,
            /* [in] */ long y,
            /* [out][in] */ long *ElementID,
            /* [out][in] */ long *Arg1,
            /* [out][in] */ long *Arg2);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetSourceData )( 
            IMsoChart * This,
            /* [in] */ BSTR Source,
            /* [optional][in] */ VARIANT PlotBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotBy )( 
            IMsoChart * This,
            /* [retval][out] */ XlRowCol *PlotBy);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotBy )( 
            IMsoChart * This,
            /* [in] */ XlRowCol PlotBy);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasLegend )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasLegend )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Legend )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoLegend **RHS);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Axes )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Type,
            /* [defaultvalue][optional][in] */ XlAxisGroup AxisGroup,
            /* [retval][out] */ IDispatch **ppAxes);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasAxis )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT axisType,
            /* [optional][in] */ VARIANT AxisGroup,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasAxis )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT axisType,
            /* [optional][in] */ VARIANT AxisGroup,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Walls )( 
            IMsoChart * This,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL fBackWall,
            /* [retval][out] */ IMsoWalls **ppwalls);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Floor )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoFloor **ppfloor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotArea )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoPlotArea **ppplotarea);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotVisibleOnly )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotVisibleOnly )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChartArea )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoChartArea **ppchartarea);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AutoFormat )( 
            IMsoChart * This,
            /* [in] */ long rGallery,
            /* [optional][in] */ VARIANT varFormat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoScaling )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *f);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoScaling )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL f);
        
        /* [restricted][id] */ HRESULT ( STDMETHODCALLTYPE *SetBackgroundPicture )( 
            IMsoChart * This,
            /* [in] */ BSTR bstr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ChartWizard )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT varSource,
            /* [optional][in] */ VARIANT varGallery,
            /* [optional][in] */ VARIANT varFormat,
            /* [optional][in] */ VARIANT varPlotBy,
            /* [optional][in] */ VARIANT varCategoryLabels,
            /* [optional][in] */ VARIANT varSeriesLabels,
            /* [optional][in] */ VARIANT varHasLegend,
            /* [optional][in] */ VARIANT varTitle,
            /* [optional][in] */ VARIANT varCategoryTitle,
            /* [optional][in] */ VARIANT varValueTitle,
            /* [optional][in] */ VARIANT varExtraTitle,
            /* [lcid][in] */ long LocaleID);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CopyPicture )( 
            IMsoChart * This,
            /* [defaultvalue][optional][in] */ int Appearance,
            /* [defaultvalue][optional][in] */ int Format,
            /* [defaultvalue][optional][in] */ int Size,
            /* [lcid][in] */ long LocaleID);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DataTable )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoDataTable **RHS);
        
        /* [restricted][id] */ HRESULT ( STDMETHODCALLTYPE *Evaluate )( 
            IMsoChart * This,
            /* [in] */ VARIANT varName,
            /* [in] */ long LocaleID,
            /* [out] */ long *ObjType,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [restricted][id] */ HRESULT ( STDMETHODCALLTYPE *_Evaluate )( 
            IMsoChart * This,
            /* [in] */ VARIANT varName,
            /* [in] */ long LocaleID,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [restricted][id] */ HRESULT ( STDMETHODCALLTYPE *Paste )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT varType,
            /* [lcid][in] */ long LocaleID);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BarShape )( 
            IMsoChart * This,
            /* [retval][out] */ XlBarShape *pShape);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BarShape )( 
            IMsoChart * This,
            /* [in] */ XlBarShape pShape);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Export )( 
            IMsoChart * This,
            /* [in] */ BSTR bstr,
            /* [optional][in] */ VARIANT varFilterName,
            /* [optional][in] */ VARIANT varInteractive,
            /* [retval][out] */ VARIANT_BOOL *f);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetDefaultChart )( 
            IMsoChart * This,
            /* [in] */ VARIANT varName);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ApplyChartTemplate )( 
            IMsoChart * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SaveChartTemplate )( 
            IMsoChart * This,
            /* [in] */ BSTR bstrFileName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SideWall )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoWalls **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BackWall )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoWalls **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChartStyle )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ChartStyle )( 
            IMsoChart * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClearToMatchStyle )( 
            IMsoChart * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PivotLayout )( 
            IMsoChart * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasPivotFields )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasPivotFields )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *RefreshPivotTable )( 
            IMsoChart * This);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShowDataLabelsOverMaximum )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL pRHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShowDataLabelsOverMaximum )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *pRHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ApplyLayout )( 
            IMsoChart * This,
            /* [in] */ long Layout,
            /* [optional][in] */ VARIANT varChartType);
        
        /* [restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Selection )( 
            IMsoChart * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( 
            IMsoChart * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetElement )( 
            IMsoChart * This,
            /* [in] */ MsoChartElementType RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChartData )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoChartData **ppchartdata);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoChart * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shapes )( 
            IMsoChart * This,
            /* [retval][out] */ Shapes **ppShapes);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoChart * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoChart * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Area3DGroup )( 
            IMsoChart * This,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *AreaGroups )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Bar3DGroup )( 
            IMsoChart * This,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *BarGroups )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Column3DGroup )( 
            IMsoChart * This,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *ColumnGroups )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Line3DGroup )( 
            IMsoChart * This,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *LineGroups )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Pie3DGroup )( 
            IMsoChart * This,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *PieGroups )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *DoughnutGroups )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *RadarGroups )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SurfaceGroup )( 
            IMsoChart * This,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IMsoChartGroup **RHS);
        
        /* [helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *XYGroups )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Index,
            /* [lcid][in] */ long lcid,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Replace,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShowReportFilterFieldButtons )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *res);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShowReportFilterFieldButtons )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL res);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShowLegendFieldButtons )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *res);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShowLegendFieldButtons )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL res);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShowAxisFieldButtons )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *res);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShowAxisFieldButtons )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL res);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShowValueFieldButtons )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *res);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShowValueFieldButtons )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL res);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShowAllFieldButtons )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *res);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShowAllFieldButtons )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL res);
        
        /* [restricted][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProtectChartSheetFormatting )( 
            IMsoChart * This,
            /* [in] */ VARIANT_BOOL rhs);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *FullSeriesCollection )( 
            IMsoChart * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CategoryLabelLevel )( 
            IMsoChart * This,
            /* [in] */ XlCategoryLabelLevel plevel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CategoryLabelLevel )( 
            IMsoChart * This,
            /* [retval][out] */ XlCategoryLabelLevel *plevel);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SeriesNameLevel )( 
            IMsoChart * This,
            /* [in] */ XlSeriesNameLevel plevel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SeriesNameLevel )( 
            IMsoChart * This,
            /* [retval][out] */ XlSeriesNameLevel *plevel);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasHiddenContent )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT_BOOL *res);
        
        /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteHiddenContent )( 
            IMsoChart * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ChartColor )( 
            IMsoChart * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ChartColor )( 
            IMsoChart * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClearToMatchColorStyle )( 
            IMsoChart * This);
        
        END_INTERFACE
    } IMsoChartVtbl;

    interface IMsoChart
    {
        CONST_VTBL struct IMsoChartVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoChart_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoChart_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoChart_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoChart_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoChart_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoChart_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoChart_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoChart_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoChart_put_HasTitle(This,fTitle)	\
    ( (This)->lpVtbl -> put_HasTitle(This,fTitle) ) 

#define IMsoChart_get_HasTitle(This,fTitle)	\
    ( (This)->lpVtbl -> get_HasTitle(This,fTitle) ) 

#define IMsoChart_get_ChartTitle(This,pval)	\
    ( (This)->lpVtbl -> get_ChartTitle(This,pval) ) 

#define IMsoChart_get_DepthPercent(This,pwDepthPercent)	\
    ( (This)->lpVtbl -> get_DepthPercent(This,pwDepthPercent) ) 

#define IMsoChart_put_DepthPercent(This,pwDepthPercent)	\
    ( (This)->lpVtbl -> put_DepthPercent(This,pwDepthPercent) ) 

#define IMsoChart_get_Elevation(This,pwElevation)	\
    ( (This)->lpVtbl -> get_Elevation(This,pwElevation) ) 

#define IMsoChart_put_Elevation(This,pwElevation)	\
    ( (This)->lpVtbl -> put_Elevation(This,pwElevation) ) 

#define IMsoChart_get_GapDepth(This,pwGapDepth)	\
    ( (This)->lpVtbl -> get_GapDepth(This,pwGapDepth) ) 

#define IMsoChart_put_GapDepth(This,pwGapDepth)	\
    ( (This)->lpVtbl -> put_GapDepth(This,pwGapDepth) ) 

#define IMsoChart_get_HeightPercent(This,pwHeightPercent)	\
    ( (This)->lpVtbl -> get_HeightPercent(This,pwHeightPercent) ) 

#define IMsoChart_put_HeightPercent(This,pwHeightPercent)	\
    ( (This)->lpVtbl -> put_HeightPercent(This,pwHeightPercent) ) 

#define IMsoChart_get_Perspective(This,pwPerspective)	\
    ( (This)->lpVtbl -> get_Perspective(This,pwPerspective) ) 

#define IMsoChart_put_Perspective(This,pwPerspective)	\
    ( (This)->lpVtbl -> put_Perspective(This,pwPerspective) ) 

#define IMsoChart_get_RightAngleAxes(This,pvarRightAngleAxes)	\
    ( (This)->lpVtbl -> get_RightAngleAxes(This,pvarRightAngleAxes) ) 

#define IMsoChart_put_RightAngleAxes(This,pvarRightAngleAxes)	\
    ( (This)->lpVtbl -> put_RightAngleAxes(This,pvarRightAngleAxes) ) 

#define IMsoChart_get_Rotation(This,pvarRotation)	\
    ( (This)->lpVtbl -> get_Rotation(This,pvarRotation) ) 

#define IMsoChart_put_Rotation(This,pvarRotation)	\
    ( (This)->lpVtbl -> put_Rotation(This,pvarRotation) ) 

#define IMsoChart_put_DisplayBlanksAs(This,pres)	\
    ( (This)->lpVtbl -> put_DisplayBlanksAs(This,pres) ) 

#define IMsoChart_get_DisplayBlanksAs(This,pres)	\
    ( (This)->lpVtbl -> get_DisplayBlanksAs(This,pres) ) 

#define IMsoChart_put_ProtectData(This,pres)	\
    ( (This)->lpVtbl -> put_ProtectData(This,pres) ) 

#define IMsoChart_get_ProtectData(This,pres)	\
    ( (This)->lpVtbl -> get_ProtectData(This,pres) ) 

#define IMsoChart_put_ProtectFormatting(This,pres)	\
    ( (This)->lpVtbl -> put_ProtectFormatting(This,pres) ) 

#define IMsoChart_get_ProtectFormatting(This,pres)	\
    ( (This)->lpVtbl -> get_ProtectFormatting(This,pres) ) 

#define IMsoChart_put_ProtectGoalSeek(This,pres)	\
    ( (This)->lpVtbl -> put_ProtectGoalSeek(This,pres) ) 

#define IMsoChart_get_ProtectGoalSeek(This,pres)	\
    ( (This)->lpVtbl -> get_ProtectGoalSeek(This,pres) ) 

#define IMsoChart_put_ProtectSelection(This,pres)	\
    ( (This)->lpVtbl -> put_ProtectSelection(This,pres) ) 

#define IMsoChart_get_ProtectSelection(This,pres)	\
    ( (This)->lpVtbl -> get_ProtectSelection(This,pres) ) 

#define IMsoChart_put_ProtectChartObjects(This,pres)	\
    ( (This)->lpVtbl -> put_ProtectChartObjects(This,pres) ) 

#define IMsoChart_get_ProtectChartObjects(This,pres)	\
    ( (This)->lpVtbl -> get_ProtectChartObjects(This,pres) ) 

#define IMsoChart_UnProtect(This,Password)	\
    ( (This)->lpVtbl -> UnProtect(This,Password) ) 

#define IMsoChart_Protect(This,Password,DrawingObjects,Contents,Scenarios,UserInterfaceOnly)	\
    ( (This)->lpVtbl -> Protect(This,Password,DrawingObjects,Contents,Scenarios,UserInterfaceOnly) ) 

#define IMsoChart_get_ChartGroups(This,pvarIndex,varIgallery,lcid,RHS)	\
    ( (This)->lpVtbl -> get_ChartGroups(This,pvarIndex,varIgallery,lcid,RHS) ) 

#define IMsoChart_SeriesCollection(This,Index,RHS)	\
    ( (This)->lpVtbl -> SeriesCollection(This,Index,RHS) ) 

#define IMsoChart__ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines)	\
    ( (This)->lpVtbl -> _ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines) ) 

#define IMsoChart_get_SubType(This,RHS)	\
    ( (This)->lpVtbl -> get_SubType(This,RHS) ) 

#define IMsoChart_put_SubType(This,RHS)	\
    ( (This)->lpVtbl -> put_SubType(This,RHS) ) 

#define IMsoChart_get_Type(This,RHS)	\
    ( (This)->lpVtbl -> get_Type(This,RHS) ) 

#define IMsoChart_put_Type(This,RHS)	\
    ( (This)->lpVtbl -> put_Type(This,RHS) ) 

#define IMsoChart_get_Corners(This,RHS)	\
    ( (This)->lpVtbl -> get_Corners(This,RHS) ) 

#define IMsoChart_ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines,ShowSeriesName,ShowCategoryName,ShowValue,ShowPercentage,ShowBubbleSize,Separator)	\
    ( (This)->lpVtbl -> ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines,ShowSeriesName,ShowCategoryName,ShowValue,ShowPercentage,ShowBubbleSize,Separator) ) 

#define IMsoChart_get_ChartType(This,RHS)	\
    ( (This)->lpVtbl -> get_ChartType(This,RHS) ) 

#define IMsoChart_put_ChartType(This,RHS)	\
    ( (This)->lpVtbl -> put_ChartType(This,RHS) ) 

#define IMsoChart_get_HasDataTable(This,RHS)	\
    ( (This)->lpVtbl -> get_HasDataTable(This,RHS) ) 

#define IMsoChart_put_HasDataTable(This,RHS)	\
    ( (This)->lpVtbl -> put_HasDataTable(This,RHS) ) 

#define IMsoChart_ApplyCustomType(This,ChartType,TypeName)	\
    ( (This)->lpVtbl -> ApplyCustomType(This,ChartType,TypeName) ) 

#define IMsoChart_GetChartElement(This,x,y,ElementID,Arg1,Arg2)	\
    ( (This)->lpVtbl -> GetChartElement(This,x,y,ElementID,Arg1,Arg2) ) 

#define IMsoChart_SetSourceData(This,Source,PlotBy)	\
    ( (This)->lpVtbl -> SetSourceData(This,Source,PlotBy) ) 

#define IMsoChart_get_PlotBy(This,PlotBy)	\
    ( (This)->lpVtbl -> get_PlotBy(This,PlotBy) ) 

#define IMsoChart_put_PlotBy(This,PlotBy)	\
    ( (This)->lpVtbl -> put_PlotBy(This,PlotBy) ) 

#define IMsoChart_get_HasLegend(This,RHS)	\
    ( (This)->lpVtbl -> get_HasLegend(This,RHS) ) 

#define IMsoChart_put_HasLegend(This,RHS)	\
    ( (This)->lpVtbl -> put_HasLegend(This,RHS) ) 

#define IMsoChart_get_Legend(This,RHS)	\
    ( (This)->lpVtbl -> get_Legend(This,RHS) ) 

#define IMsoChart_Axes(This,Type,AxisGroup,ppAxes)	\
    ( (This)->lpVtbl -> Axes(This,Type,AxisGroup,ppAxes) ) 

#define IMsoChart_put_HasAxis(This,axisType,AxisGroup,pval)	\
    ( (This)->lpVtbl -> put_HasAxis(This,axisType,AxisGroup,pval) ) 

#define IMsoChart_get_HasAxis(This,axisType,AxisGroup,pval)	\
    ( (This)->lpVtbl -> get_HasAxis(This,axisType,AxisGroup,pval) ) 

#define IMsoChart_get_Walls(This,fBackWall,ppwalls)	\
    ( (This)->lpVtbl -> get_Walls(This,fBackWall,ppwalls) ) 

#define IMsoChart_get_Floor(This,ppfloor)	\
    ( (This)->lpVtbl -> get_Floor(This,ppfloor) ) 

#define IMsoChart_get_PlotArea(This,ppplotarea)	\
    ( (This)->lpVtbl -> get_PlotArea(This,ppplotarea) ) 

#define IMsoChart_get_PlotVisibleOnly(This,RHS)	\
    ( (This)->lpVtbl -> get_PlotVisibleOnly(This,RHS) ) 

#define IMsoChart_put_PlotVisibleOnly(This,RHS)	\
    ( (This)->lpVtbl -> put_PlotVisibleOnly(This,RHS) ) 

#define IMsoChart_get_ChartArea(This,ppchartarea)	\
    ( (This)->lpVtbl -> get_ChartArea(This,ppchartarea) ) 

#define IMsoChart_AutoFormat(This,rGallery,varFormat)	\
    ( (This)->lpVtbl -> AutoFormat(This,rGallery,varFormat) ) 

#define IMsoChart_get_AutoScaling(This,f)	\
    ( (This)->lpVtbl -> get_AutoScaling(This,f) ) 

#define IMsoChart_put_AutoScaling(This,f)	\
    ( (This)->lpVtbl -> put_AutoScaling(This,f) ) 

#define IMsoChart_SetBackgroundPicture(This,bstr)	\
    ( (This)->lpVtbl -> SetBackgroundPicture(This,bstr) ) 

#define IMsoChart_ChartWizard(This,varSource,varGallery,varFormat,varPlotBy,varCategoryLabels,varSeriesLabels,varHasLegend,varTitle,varCategoryTitle,varValueTitle,varExtraTitle,LocaleID)	\
    ( (This)->lpVtbl -> ChartWizard(This,varSource,varGallery,varFormat,varPlotBy,varCategoryLabels,varSeriesLabels,varHasLegend,varTitle,varCategoryTitle,varValueTitle,varExtraTitle,LocaleID) ) 

#define IMsoChart_CopyPicture(This,Appearance,Format,Size,LocaleID)	\
    ( (This)->lpVtbl -> CopyPicture(This,Appearance,Format,Size,LocaleID) ) 

#define IMsoChart_get_DataTable(This,RHS)	\
    ( (This)->lpVtbl -> get_DataTable(This,RHS) ) 

#define IMsoChart_Evaluate(This,varName,LocaleID,ObjType,pvar)	\
    ( (This)->lpVtbl -> Evaluate(This,varName,LocaleID,ObjType,pvar) ) 

#define IMsoChart__Evaluate(This,varName,LocaleID,pvar)	\
    ( (This)->lpVtbl -> _Evaluate(This,varName,LocaleID,pvar) ) 

#define IMsoChart_Paste(This,varType,LocaleID)	\
    ( (This)->lpVtbl -> Paste(This,varType,LocaleID) ) 

#define IMsoChart_get_BarShape(This,pShape)	\
    ( (This)->lpVtbl -> get_BarShape(This,pShape) ) 

#define IMsoChart_put_BarShape(This,pShape)	\
    ( (This)->lpVtbl -> put_BarShape(This,pShape) ) 

#define IMsoChart_Export(This,bstr,varFilterName,varInteractive,f)	\
    ( (This)->lpVtbl -> Export(This,bstr,varFilterName,varInteractive,f) ) 

#define IMsoChart_SetDefaultChart(This,varName)	\
    ( (This)->lpVtbl -> SetDefaultChart(This,varName) ) 

#define IMsoChart_ApplyChartTemplate(This,bstrFileName)	\
    ( (This)->lpVtbl -> ApplyChartTemplate(This,bstrFileName) ) 

#define IMsoChart_SaveChartTemplate(This,bstrFileName)	\
    ( (This)->lpVtbl -> SaveChartTemplate(This,bstrFileName) ) 

#define IMsoChart_get_SideWall(This,RHS)	\
    ( (This)->lpVtbl -> get_SideWall(This,RHS) ) 

#define IMsoChart_get_BackWall(This,RHS)	\
    ( (This)->lpVtbl -> get_BackWall(This,RHS) ) 

#define IMsoChart_get_ChartStyle(This,RHS)	\
    ( (This)->lpVtbl -> get_ChartStyle(This,RHS) ) 

#define IMsoChart_put_ChartStyle(This,RHS)	\
    ( (This)->lpVtbl -> put_ChartStyle(This,RHS) ) 

#define IMsoChart_ClearToMatchStyle(This)	\
    ( (This)->lpVtbl -> ClearToMatchStyle(This) ) 

#define IMsoChart_get_PivotLayout(This,RHS)	\
    ( (This)->lpVtbl -> get_PivotLayout(This,RHS) ) 

#define IMsoChart_get_HasPivotFields(This,RHS)	\
    ( (This)->lpVtbl -> get_HasPivotFields(This,RHS) ) 

#define IMsoChart_put_HasPivotFields(This,RHS)	\
    ( (This)->lpVtbl -> put_HasPivotFields(This,RHS) ) 

#define IMsoChart_RefreshPivotTable(This)	\
    ( (This)->lpVtbl -> RefreshPivotTable(This) ) 

#define IMsoChart_put_ShowDataLabelsOverMaximum(This,pRHS)	\
    ( (This)->lpVtbl -> put_ShowDataLabelsOverMaximum(This,pRHS) ) 

#define IMsoChart_get_ShowDataLabelsOverMaximum(This,pRHS)	\
    ( (This)->lpVtbl -> get_ShowDataLabelsOverMaximum(This,pRHS) ) 

#define IMsoChart_ApplyLayout(This,Layout,varChartType)	\
    ( (This)->lpVtbl -> ApplyLayout(This,Layout,varChartType) ) 

#define IMsoChart_get_Selection(This,RHS)	\
    ( (This)->lpVtbl -> get_Selection(This,RHS) ) 

#define IMsoChart_Refresh(This)	\
    ( (This)->lpVtbl -> Refresh(This) ) 

#define IMsoChart_SetElement(This,RHS)	\
    ( (This)->lpVtbl -> SetElement(This,RHS) ) 

#define IMsoChart_get_ChartData(This,ppchartdata)	\
    ( (This)->lpVtbl -> get_ChartData(This,ppchartdata) ) 

#define IMsoChart_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoChart_get_Shapes(This,ppShapes)	\
    ( (This)->lpVtbl -> get_Shapes(This,ppShapes) ) 

#define IMsoChart_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoChart_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoChart_get_Area3DGroup(This,lcid,RHS)	\
    ( (This)->lpVtbl -> get_Area3DGroup(This,lcid,RHS) ) 

#define IMsoChart_AreaGroups(This,Index,lcid,RHS)	\
    ( (This)->lpVtbl -> AreaGroups(This,Index,lcid,RHS) ) 

#define IMsoChart_get_Bar3DGroup(This,lcid,RHS)	\
    ( (This)->lpVtbl -> get_Bar3DGroup(This,lcid,RHS) ) 

#define IMsoChart_BarGroups(This,Index,lcid,RHS)	\
    ( (This)->lpVtbl -> BarGroups(This,Index,lcid,RHS) ) 

#define IMsoChart_get_Column3DGroup(This,lcid,RHS)	\
    ( (This)->lpVtbl -> get_Column3DGroup(This,lcid,RHS) ) 

#define IMsoChart_ColumnGroups(This,Index,lcid,RHS)	\
    ( (This)->lpVtbl -> ColumnGroups(This,Index,lcid,RHS) ) 

#define IMsoChart_get_Line3DGroup(This,lcid,RHS)	\
    ( (This)->lpVtbl -> get_Line3DGroup(This,lcid,RHS) ) 

#define IMsoChart_LineGroups(This,Index,lcid,RHS)	\
    ( (This)->lpVtbl -> LineGroups(This,Index,lcid,RHS) ) 

#define IMsoChart_get_Pie3DGroup(This,lcid,RHS)	\
    ( (This)->lpVtbl -> get_Pie3DGroup(This,lcid,RHS) ) 

#define IMsoChart_PieGroups(This,Index,lcid,RHS)	\
    ( (This)->lpVtbl -> PieGroups(This,Index,lcid,RHS) ) 

#define IMsoChart_DoughnutGroups(This,Index,lcid,RHS)	\
    ( (This)->lpVtbl -> DoughnutGroups(This,Index,lcid,RHS) ) 

#define IMsoChart_RadarGroups(This,Index,lcid,RHS)	\
    ( (This)->lpVtbl -> RadarGroups(This,Index,lcid,RHS) ) 

#define IMsoChart_get_SurfaceGroup(This,lcid,RHS)	\
    ( (This)->lpVtbl -> get_SurfaceGroup(This,lcid,RHS) ) 

#define IMsoChart_XYGroups(This,Index,lcid,RHS)	\
    ( (This)->lpVtbl -> XYGroups(This,Index,lcid,RHS) ) 

#define IMsoChart_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define IMsoChart_Copy(This,RHS)	\
    ( (This)->lpVtbl -> Copy(This,RHS) ) 

#define IMsoChart_Select(This,Replace,RHS)	\
    ( (This)->lpVtbl -> Select(This,Replace,RHS) ) 

#define IMsoChart_get_ShowReportFilterFieldButtons(This,res)	\
    ( (This)->lpVtbl -> get_ShowReportFilterFieldButtons(This,res) ) 

#define IMsoChart_put_ShowReportFilterFieldButtons(This,res)	\
    ( (This)->lpVtbl -> put_ShowReportFilterFieldButtons(This,res) ) 

#define IMsoChart_get_ShowLegendFieldButtons(This,res)	\
    ( (This)->lpVtbl -> get_ShowLegendFieldButtons(This,res) ) 

#define IMsoChart_put_ShowLegendFieldButtons(This,res)	\
    ( (This)->lpVtbl -> put_ShowLegendFieldButtons(This,res) ) 

#define IMsoChart_get_ShowAxisFieldButtons(This,res)	\
    ( (This)->lpVtbl -> get_ShowAxisFieldButtons(This,res) ) 

#define IMsoChart_put_ShowAxisFieldButtons(This,res)	\
    ( (This)->lpVtbl -> put_ShowAxisFieldButtons(This,res) ) 

#define IMsoChart_get_ShowValueFieldButtons(This,res)	\
    ( (This)->lpVtbl -> get_ShowValueFieldButtons(This,res) ) 

#define IMsoChart_put_ShowValueFieldButtons(This,res)	\
    ( (This)->lpVtbl -> put_ShowValueFieldButtons(This,res) ) 

#define IMsoChart_get_ShowAllFieldButtons(This,res)	\
    ( (This)->lpVtbl -> get_ShowAllFieldButtons(This,res) ) 

#define IMsoChart_put_ShowAllFieldButtons(This,res)	\
    ( (This)->lpVtbl -> put_ShowAllFieldButtons(This,res) ) 

#define IMsoChart_put_ProtectChartSheetFormatting(This,rhs)	\
    ( (This)->lpVtbl -> put_ProtectChartSheetFormatting(This,rhs) ) 

#define IMsoChart_FullSeriesCollection(This,Index,RHS)	\
    ( (This)->lpVtbl -> FullSeriesCollection(This,Index,RHS) ) 

#define IMsoChart_put_CategoryLabelLevel(This,plevel)	\
    ( (This)->lpVtbl -> put_CategoryLabelLevel(This,plevel) ) 

#define IMsoChart_get_CategoryLabelLevel(This,plevel)	\
    ( (This)->lpVtbl -> get_CategoryLabelLevel(This,plevel) ) 

#define IMsoChart_put_SeriesNameLevel(This,plevel)	\
    ( (This)->lpVtbl -> put_SeriesNameLevel(This,plevel) ) 

#define IMsoChart_get_SeriesNameLevel(This,plevel)	\
    ( (This)->lpVtbl -> get_SeriesNameLevel(This,plevel) ) 

#define IMsoChart_get_HasHiddenContent(This,res)	\
    ( (This)->lpVtbl -> get_HasHiddenContent(This,res) ) 

#define IMsoChart_DeleteHiddenContent(This)	\
    ( (This)->lpVtbl -> DeleteHiddenContent(This) ) 

#define IMsoChart_get_ChartColor(This,RHS)	\
    ( (This)->lpVtbl -> get_ChartColor(This,RHS) ) 

#define IMsoChart_put_ChartColor(This,RHS)	\
    ( (This)->lpVtbl -> put_ChartColor(This,RHS) ) 

#define IMsoChart_ClearToMatchColorStyle(This)	\
    ( (This)->lpVtbl -> ClearToMatchColorStyle(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



#if 0
/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_get_ShowValueFieldButtons_Proxy( 
    IMsoChart * This,
    /* [retval][out] */ VARIANT_BOOL *res);


void __RPC_STUB IMsoChart_get_ShowValueFieldButtons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_put_ShowValueFieldButtons_Proxy( 
    IMsoChart * This,
    /* [in] */ VARIANT_BOOL res);


void __RPC_STUB IMsoChart_put_ShowValueFieldButtons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_get_ShowAllFieldButtons_Proxy( 
    IMsoChart * This,
    /* [retval][out] */ VARIANT_BOOL *res);


void __RPC_STUB IMsoChart_get_ShowAllFieldButtons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_put_ShowAllFieldButtons_Proxy( 
    IMsoChart * This,
    /* [in] */ VARIANT_BOOL res);


void __RPC_STUB IMsoChart_put_ShowAllFieldButtons_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [restricted][propput][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_put_ProtectChartSheetFormatting_Proxy( 
    IMsoChart * This,
    /* [in] */ VARIANT_BOOL rhs);


void __RPC_STUB IMsoChart_put_ProtectChartSheetFormatting_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [id] */ HRESULT STDMETHODCALLTYPE IMsoChart_FullSeriesCollection_Proxy( 
    IMsoChart * This,
    /* [optional][in] */ VARIANT Index,
    /* [retval][out] */ IDispatch **RHS);


void __RPC_STUB IMsoChart_FullSeriesCollection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_put_CategoryLabelLevel_Proxy( 
    IMsoChart * This,
    /* [in] */ XlCategoryLabelLevel plevel);


void __RPC_STUB IMsoChart_put_CategoryLabelLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_get_CategoryLabelLevel_Proxy( 
    IMsoChart * This,
    /* [retval][out] */ XlCategoryLabelLevel *plevel);


void __RPC_STUB IMsoChart_get_CategoryLabelLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_put_SeriesNameLevel_Proxy( 
    IMsoChart * This,
    /* [in] */ XlSeriesNameLevel plevel);


void __RPC_STUB IMsoChart_put_SeriesNameLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_get_SeriesNameLevel_Proxy( 
    IMsoChart * This,
    /* [retval][out] */ XlSeriesNameLevel *plevel);


void __RPC_STUB IMsoChart_get_SeriesNameLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_get_HasHiddenContent_Proxy( 
    IMsoChart * This,
    /* [retval][out] */ VARIANT_BOOL *res);


void __RPC_STUB IMsoChart_get_HasHiddenContent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [hidden][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_DeleteHiddenContent_Proxy( 
    IMsoChart * This);


void __RPC_STUB IMsoChart_DeleteHiddenContent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_get_ChartColor_Proxy( 
    IMsoChart * This,
    /* [retval][out] */ VARIANT *RHS);


void __RPC_STUB IMsoChart_get_ChartColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_put_ChartColor_Proxy( 
    IMsoChart * This,
    /* [in] */ VARIANT RHS);


void __RPC_STUB IMsoChart_put_ChartColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE IMsoChart_ClearToMatchColorStyle_Proxy( 
    IMsoChart * This);


void __RPC_STUB IMsoChart_ClearToMatchColorStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


#endif

#endif 	/* __IMsoChart_INTERFACE_DEFINED__ */


#ifndef __IMsoCorners_INTERFACE_DEFINED__
#define __IMsoCorners_INTERFACE_DEFINED__

/* interface IMsoCorners */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoCorners;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1714-0000-0000-C000-000000000046")
    IMsoCorners : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoCornersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoCorners * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoCorners * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoCorners * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoCorners * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoCorners * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoCorners * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoCorners * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoCorners * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoCorners * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoCorners * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoCorners * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoCorners * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoCornersVtbl;

    interface IMsoCorners
    {
        CONST_VTBL struct IMsoCornersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoCorners_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoCorners_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoCorners_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoCorners_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoCorners_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoCorners_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoCorners_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoCorners_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoCorners_get_Name(This,RHS)	\
    ( (This)->lpVtbl -> get_Name(This,RHS) ) 

#define IMsoCorners_Select(This,RHS)	\
    ( (This)->lpVtbl -> Select(This,RHS) ) 

#define IMsoCorners_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoCorners_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoCorners_INTERFACE_DEFINED__ */


#ifndef __IMsoLegend_INTERFACE_DEFINED__
#define __IMsoLegend_INTERFACE_DEFINED__

/* interface IMsoLegend */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoLegend;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1710-0000-0000-C000-000000000046")
    IMsoLegend : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Font( 
            /* [retval][out] */ ChartFont **RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE LegendEntries( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ XlLegendPosition *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ XlLegendPosition RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Shadow( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Shadow( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Clear( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Interior( 
            /* [retval][out] */ IMsoInterior **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ ChartFillFormat **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoScaleFont( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoScaleFont( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IncludeInLayout( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_IncludeInLayout( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoLegendVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoLegend * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoLegend * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoLegend * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoLegend * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoLegend * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoLegend * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoLegend * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoLegend * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoLegend * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoLegend * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoLegend * This,
            /* [retval][out] */ IMsoBorder **RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoLegend * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Font )( 
            IMsoLegend * This,
            /* [retval][out] */ ChartFont **RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *LegendEntries )( 
            IMsoLegend * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IMsoLegend * This,
            /* [retval][out] */ XlLegendPosition *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IMsoLegend * This,
            /* [in] */ XlLegendPosition RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shadow )( 
            IMsoLegend * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Shadow )( 
            IMsoLegend * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IMsoLegend * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IMsoLegend * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IMsoLegend * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interior )( 
            IMsoLegend * This,
            /* [retval][out] */ IMsoInterior **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoLegend * This,
            /* [retval][out] */ ChartFillFormat **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IMsoLegend * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            IMsoLegend * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IMsoLegend * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            IMsoLegend * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IMsoLegend * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IMsoLegend * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoScaleFont )( 
            IMsoLegend * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoScaleFont )( 
            IMsoLegend * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeInLayout )( 
            IMsoLegend * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeInLayout )( 
            IMsoLegend * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoLegend * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoLegend * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoLegend * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoLegendVtbl;

    interface IMsoLegend
    {
        CONST_VTBL struct IMsoLegendVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoLegend_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoLegend_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoLegend_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoLegend_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoLegend_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoLegend_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoLegend_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoLegend_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoLegend_get_Name(This,RHS)	\
    ( (This)->lpVtbl -> get_Name(This,RHS) ) 

#define IMsoLegend_Select(This,RHS)	\
    ( (This)->lpVtbl -> Select(This,RHS) ) 

#define IMsoLegend_get_Border(This,RHS)	\
    ( (This)->lpVtbl -> get_Border(This,RHS) ) 

#define IMsoLegend_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define IMsoLegend_get_Font(This,RHS)	\
    ( (This)->lpVtbl -> get_Font(This,RHS) ) 

#define IMsoLegend_LegendEntries(This,Index,RHS)	\
    ( (This)->lpVtbl -> LegendEntries(This,Index,RHS) ) 

#define IMsoLegend_get_Position(This,RHS)	\
    ( (This)->lpVtbl -> get_Position(This,RHS) ) 

#define IMsoLegend_put_Position(This,RHS)	\
    ( (This)->lpVtbl -> put_Position(This,RHS) ) 

#define IMsoLegend_get_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> get_Shadow(This,RHS) ) 

#define IMsoLegend_put_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> put_Shadow(This,RHS) ) 

#define IMsoLegend_Clear(This,RHS)	\
    ( (This)->lpVtbl -> Clear(This,RHS) ) 

#define IMsoLegend_get_Height(This,RHS)	\
    ( (This)->lpVtbl -> get_Height(This,RHS) ) 

#define IMsoLegend_put_Height(This,RHS)	\
    ( (This)->lpVtbl -> put_Height(This,RHS) ) 

#define IMsoLegend_get_Interior(This,RHS)	\
    ( (This)->lpVtbl -> get_Interior(This,RHS) ) 

#define IMsoLegend_get_Fill(This,RHS)	\
    ( (This)->lpVtbl -> get_Fill(This,RHS) ) 

#define IMsoLegend_get_Left(This,RHS)	\
    ( (This)->lpVtbl -> get_Left(This,RHS) ) 

#define IMsoLegend_put_Left(This,RHS)	\
    ( (This)->lpVtbl -> put_Left(This,RHS) ) 

#define IMsoLegend_get_Top(This,RHS)	\
    ( (This)->lpVtbl -> get_Top(This,RHS) ) 

#define IMsoLegend_put_Top(This,RHS)	\
    ( (This)->lpVtbl -> put_Top(This,RHS) ) 

#define IMsoLegend_get_Width(This,RHS)	\
    ( (This)->lpVtbl -> get_Width(This,RHS) ) 

#define IMsoLegend_put_Width(This,RHS)	\
    ( (This)->lpVtbl -> put_Width(This,RHS) ) 

#define IMsoLegend_get_AutoScaleFont(This,RHS)	\
    ( (This)->lpVtbl -> get_AutoScaleFont(This,RHS) ) 

#define IMsoLegend_put_AutoScaleFont(This,RHS)	\
    ( (This)->lpVtbl -> put_AutoScaleFont(This,RHS) ) 

#define IMsoLegend_get_IncludeInLayout(This,RHS)	\
    ( (This)->lpVtbl -> get_IncludeInLayout(This,RHS) ) 

#define IMsoLegend_put_IncludeInLayout(This,RHS)	\
    ( (This)->lpVtbl -> put_IncludeInLayout(This,RHS) ) 

#define IMsoLegend_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoLegend_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoLegend_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoLegend_INTERFACE_DEFINED__ */


#ifndef __IMsoBorder_INTERFACE_DEFINED__
#define __IMsoBorder_INTERFACE_DEFINED__

/* interface IMsoBorder */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoBorder;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1717-0000-0000-C000-000000000046")
    IMsoBorder : public IDispatch
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ColorIndex( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ColorIndex( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LineStyle( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LineStyle( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Weight( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Weight( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoBorderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoBorder * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoBorder * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoBorder * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoBorder * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoBorder * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoBorder * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoBorder * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IMsoBorder * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IMsoBorder * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorIndex )( 
            IMsoBorder * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorIndex )( 
            IMsoBorder * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LineStyle )( 
            IMsoBorder * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LineStyle )( 
            IMsoBorder * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Weight )( 
            IMsoBorder * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Weight )( 
            IMsoBorder * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoBorder * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoBorder * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoBorder * This,
            /* [retval][out] */ IDispatch **RHS);
        
        END_INTERFACE
    } IMsoBorderVtbl;

    interface IMsoBorder
    {
        CONST_VTBL struct IMsoBorderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoBorder_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoBorder_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoBorder_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoBorder_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoBorder_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoBorder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoBorder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoBorder_put_Color(This,pval)	\
    ( (This)->lpVtbl -> put_Color(This,pval) ) 

#define IMsoBorder_get_Color(This,pval)	\
    ( (This)->lpVtbl -> get_Color(This,pval) ) 

#define IMsoBorder_put_ColorIndex(This,pval)	\
    ( (This)->lpVtbl -> put_ColorIndex(This,pval) ) 

#define IMsoBorder_get_ColorIndex(This,pval)	\
    ( (This)->lpVtbl -> get_ColorIndex(This,pval) ) 

#define IMsoBorder_put_LineStyle(This,pval)	\
    ( (This)->lpVtbl -> put_LineStyle(This,pval) ) 

#define IMsoBorder_get_LineStyle(This,pval)	\
    ( (This)->lpVtbl -> get_LineStyle(This,pval) ) 

#define IMsoBorder_put_Weight(This,pval)	\
    ( (This)->lpVtbl -> put_Weight(This,pval) ) 

#define IMsoBorder_get_Weight(This,pval)	\
    ( (This)->lpVtbl -> get_Weight(This,pval) ) 

#define IMsoBorder_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoBorder_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoBorder_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoBorder_INTERFACE_DEFINED__ */


#ifndef __IMsoWalls_INTERFACE_DEFINED__
#define __IMsoWalls_INTERFACE_DEFINED__

/* interface IMsoWalls */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoWalls;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1715-0000-0000-C000-000000000046")
    IMsoWalls : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstr) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClearFormats( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Interior( 
            /* [retval][out] */ IMsoInterior **ppinterior) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ ChartFillFormat **ppfill) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureType( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PictureType( 
            /* [in] */ VARIANT pvar) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Paste( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureUnit( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PictureUnit( 
            /* [in] */ VARIANT pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoWallsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoWalls * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoWalls * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoWalls * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoWalls * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoWalls * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoWalls * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoWalls * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoWalls * This,
            /* [retval][out] */ BSTR *bstr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoWalls * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoWalls * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoWalls * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClearFormats )( 
            IMsoWalls * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interior )( 
            IMsoWalls * This,
            /* [retval][out] */ IMsoInterior **ppinterior);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoWalls * This,
            /* [retval][out] */ ChartFillFormat **ppfill);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureType )( 
            IMsoWalls * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PictureType )( 
            IMsoWalls * This,
            /* [in] */ VARIANT pvar);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Paste )( 
            IMsoWalls * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureUnit )( 
            IMsoWalls * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PictureUnit )( 
            IMsoWalls * This,
            /* [in] */ VARIANT pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IMsoWalls * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IMsoWalls * This,
            /* [in] */ long RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoWalls * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoWalls * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoWalls * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoWallsVtbl;

    interface IMsoWalls
    {
        CONST_VTBL struct IMsoWallsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoWalls_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoWalls_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoWalls_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoWalls_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoWalls_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoWalls_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoWalls_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoWalls_get_Name(This,bstr)	\
    ( (This)->lpVtbl -> get_Name(This,bstr) ) 

#define IMsoWalls_Select(This,pvar)	\
    ( (This)->lpVtbl -> Select(This,pvar) ) 

#define IMsoWalls_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define IMsoWalls_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoWalls_ClearFormats(This,pvar)	\
    ( (This)->lpVtbl -> ClearFormats(This,pvar) ) 

#define IMsoWalls_get_Interior(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Interior(This,ppinterior) ) 

#define IMsoWalls_get_Fill(This,ppfill)	\
    ( (This)->lpVtbl -> get_Fill(This,ppfill) ) 

#define IMsoWalls_get_PictureType(This,pvar)	\
    ( (This)->lpVtbl -> get_PictureType(This,pvar) ) 

#define IMsoWalls_put_PictureType(This,pvar)	\
    ( (This)->lpVtbl -> put_PictureType(This,pvar) ) 

#define IMsoWalls_Paste(This)	\
    ( (This)->lpVtbl -> Paste(This) ) 

#define IMsoWalls_get_PictureUnit(This,pvar)	\
    ( (This)->lpVtbl -> get_PictureUnit(This,pvar) ) 

#define IMsoWalls_put_PictureUnit(This,pvar)	\
    ( (This)->lpVtbl -> put_PictureUnit(This,pvar) ) 

#define IMsoWalls_get_Thickness(This,RHS)	\
    ( (This)->lpVtbl -> get_Thickness(This,RHS) ) 

#define IMsoWalls_put_Thickness(This,RHS)	\
    ( (This)->lpVtbl -> put_Thickness(This,RHS) ) 

#define IMsoWalls_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoWalls_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoWalls_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoWalls_INTERFACE_DEFINED__ */


#ifndef __IMsoFloor_INTERFACE_DEFINED__
#define __IMsoFloor_INTERFACE_DEFINED__

/* interface IMsoFloor */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoFloor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1716-0000-0000-C000-000000000046")
    IMsoFloor : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstr) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClearFormats( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Interior( 
            /* [retval][out] */ IMsoInterior **ppinterior) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ ChartFillFormat **ppfill) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureType( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PictureType( 
            /* [in] */ VARIANT pvar) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Paste( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoFloorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoFloor * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoFloor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoFloor * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoFloor * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoFloor * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoFloor * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoFloor * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoFloor * This,
            /* [retval][out] */ BSTR *bstr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoFloor * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoFloor * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoFloor * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClearFormats )( 
            IMsoFloor * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interior )( 
            IMsoFloor * This,
            /* [retval][out] */ IMsoInterior **ppinterior);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoFloor * This,
            /* [retval][out] */ ChartFillFormat **ppfill);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureType )( 
            IMsoFloor * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PictureType )( 
            IMsoFloor * This,
            /* [in] */ VARIANT pvar);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Paste )( 
            IMsoFloor * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IMsoFloor * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IMsoFloor * This,
            /* [in] */ long RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoFloor * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoFloor * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoFloor * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoFloorVtbl;

    interface IMsoFloor
    {
        CONST_VTBL struct IMsoFloorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoFloor_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoFloor_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoFloor_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoFloor_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoFloor_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoFloor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoFloor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoFloor_get_Name(This,bstr)	\
    ( (This)->lpVtbl -> get_Name(This,bstr) ) 

#define IMsoFloor_Select(This,pvar)	\
    ( (This)->lpVtbl -> Select(This,pvar) ) 

#define IMsoFloor_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define IMsoFloor_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoFloor_ClearFormats(This,pvar)	\
    ( (This)->lpVtbl -> ClearFormats(This,pvar) ) 

#define IMsoFloor_get_Interior(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Interior(This,ppinterior) ) 

#define IMsoFloor_get_Fill(This,ppfill)	\
    ( (This)->lpVtbl -> get_Fill(This,ppfill) ) 

#define IMsoFloor_get_PictureType(This,pvar)	\
    ( (This)->lpVtbl -> get_PictureType(This,pvar) ) 

#define IMsoFloor_put_PictureType(This,pvar)	\
    ( (This)->lpVtbl -> put_PictureType(This,pvar) ) 

#define IMsoFloor_Paste(This)	\
    ( (This)->lpVtbl -> Paste(This) ) 

#define IMsoFloor_get_Thickness(This,RHS)	\
    ( (This)->lpVtbl -> get_Thickness(This,RHS) ) 

#define IMsoFloor_put_Thickness(This,RHS)	\
    ( (This)->lpVtbl -> put_Thickness(This,RHS) ) 

#define IMsoFloor_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoFloor_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoFloor_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoFloor_INTERFACE_DEFINED__ */


#ifndef __IMsoPlotArea_INTERFACE_DEFINED__
#define __IMsoPlotArea_INTERFACE_DEFINED__

/* interface IMsoPlotArea */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoPlotArea;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1724-0000-0000-C000-000000000046")
    IMsoPlotArea : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstr) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClearFormats( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Interior( 
            /* [retval][out] */ IMsoInterior **ppinterior) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ ChartFillFormat **ppfill) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_InsideLeft( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_InsideLeft( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_InsideTop( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_InsideTop( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_InsideWidth( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_InsideWidth( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_InsideHeight( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_InsideHeight( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ XlChartElementPosition *pval) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ XlChartElementPosition pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoPlotAreaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoPlotArea * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoPlotArea * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoPlotArea * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoPlotArea * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoPlotArea * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoPlotArea * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoPlotArea * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoPlotArea * This,
            /* [retval][out] */ BSTR *bstr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoPlotArea * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoPlotArea * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoPlotArea * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClearFormats )( 
            IMsoPlotArea * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IMsoPlotArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IMsoPlotArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interior )( 
            IMsoPlotArea * This,
            /* [retval][out] */ IMsoInterior **ppinterior);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoPlotArea * This,
            /* [retval][out] */ ChartFillFormat **ppfill);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IMsoPlotArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            IMsoPlotArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IMsoPlotArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            IMsoPlotArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IMsoPlotArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IMsoPlotArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InsideLeft )( 
            IMsoPlotArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InsideLeft )( 
            IMsoPlotArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InsideTop )( 
            IMsoPlotArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InsideTop )( 
            IMsoPlotArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InsideWidth )( 
            IMsoPlotArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InsideWidth )( 
            IMsoPlotArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InsideHeight )( 
            IMsoPlotArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InsideHeight )( 
            IMsoPlotArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IMsoPlotArea * This,
            /* [retval][out] */ XlChartElementPosition *pval);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IMsoPlotArea * This,
            /* [in] */ XlChartElementPosition pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoPlotArea * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoPlotArea * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoPlotArea * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoPlotAreaVtbl;

    interface IMsoPlotArea
    {
        CONST_VTBL struct IMsoPlotAreaVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoPlotArea_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoPlotArea_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoPlotArea_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoPlotArea_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoPlotArea_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoPlotArea_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoPlotArea_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoPlotArea_get_Name(This,bstr)	\
    ( (This)->lpVtbl -> get_Name(This,bstr) ) 

#define IMsoPlotArea_Select(This,pvar)	\
    ( (This)->lpVtbl -> Select(This,pvar) ) 

#define IMsoPlotArea_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define IMsoPlotArea_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoPlotArea_ClearFormats(This,pvar)	\
    ( (This)->lpVtbl -> ClearFormats(This,pvar) ) 

#define IMsoPlotArea_get_Height(This,pd)	\
    ( (This)->lpVtbl -> get_Height(This,pd) ) 

#define IMsoPlotArea_put_Height(This,pd)	\
    ( (This)->lpVtbl -> put_Height(This,pd) ) 

#define IMsoPlotArea_get_Interior(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Interior(This,ppinterior) ) 

#define IMsoPlotArea_get_Fill(This,ppfill)	\
    ( (This)->lpVtbl -> get_Fill(This,ppfill) ) 

#define IMsoPlotArea_get_Left(This,pd)	\
    ( (This)->lpVtbl -> get_Left(This,pd) ) 

#define IMsoPlotArea_put_Left(This,pd)	\
    ( (This)->lpVtbl -> put_Left(This,pd) ) 

#define IMsoPlotArea_get_Top(This,pd)	\
    ( (This)->lpVtbl -> get_Top(This,pd) ) 

#define IMsoPlotArea_put_Top(This,pd)	\
    ( (This)->lpVtbl -> put_Top(This,pd) ) 

#define IMsoPlotArea_get_Width(This,pd)	\
    ( (This)->lpVtbl -> get_Width(This,pd) ) 

#define IMsoPlotArea_put_Width(This,pd)	\
    ( (This)->lpVtbl -> put_Width(This,pd) ) 

#define IMsoPlotArea_get_InsideLeft(This,pd)	\
    ( (This)->lpVtbl -> get_InsideLeft(This,pd) ) 

#define IMsoPlotArea_put_InsideLeft(This,pd)	\
    ( (This)->lpVtbl -> put_InsideLeft(This,pd) ) 

#define IMsoPlotArea_get_InsideTop(This,pd)	\
    ( (This)->lpVtbl -> get_InsideTop(This,pd) ) 

#define IMsoPlotArea_put_InsideTop(This,pd)	\
    ( (This)->lpVtbl -> put_InsideTop(This,pd) ) 

#define IMsoPlotArea_get_InsideWidth(This,pd)	\
    ( (This)->lpVtbl -> get_InsideWidth(This,pd) ) 

#define IMsoPlotArea_put_InsideWidth(This,pd)	\
    ( (This)->lpVtbl -> put_InsideWidth(This,pd) ) 

#define IMsoPlotArea_get_InsideHeight(This,pd)	\
    ( (This)->lpVtbl -> get_InsideHeight(This,pd) ) 

#define IMsoPlotArea_put_InsideHeight(This,pd)	\
    ( (This)->lpVtbl -> put_InsideHeight(This,pd) ) 

#define IMsoPlotArea_get_Position(This,pval)	\
    ( (This)->lpVtbl -> get_Position(This,pval) ) 

#define IMsoPlotArea_put_Position(This,pval)	\
    ( (This)->lpVtbl -> put_Position(This,pval) ) 

#define IMsoPlotArea_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoPlotArea_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoPlotArea_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoPlotArea_INTERFACE_DEFINED__ */


#ifndef __IMsoChartArea_INTERFACE_DEFINED__
#define __IMsoChartArea_INTERFACE_DEFINED__

/* interface IMsoChartArea */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoChartArea;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1728-0000-0000-C000-000000000046")
    IMsoChartArea : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstr) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Clear( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClearContents( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Copy( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Font( 
            /* [retval][out] */ ChartFont **ppfont) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Shadow( 
            /* [retval][out] */ VARIANT_BOOL *pf) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Shadow( 
            /* [in] */ VARIANT_BOOL pf) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClearFormats( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Interior( 
            /* [retval][out] */ IMsoInterior **ppinterior) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ ChartFillFormat **ppfill) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *pd) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double pd) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoScaleFont( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoScaleFont( 
            /* [in] */ VARIANT pvar) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RoundedCorners( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RoundedCorners( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoChartAreaVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoChartArea * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoChartArea * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoChartArea * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoChartArea * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoChartArea * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoChartArea * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoChartArea * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoChartArea * This,
            /* [retval][out] */ BSTR *bstr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoChartArea * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoChartArea * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoChartArea * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IMsoChartArea * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClearContents )( 
            IMsoChartArea * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IMsoChartArea * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Font )( 
            IMsoChartArea * This,
            /* [retval][out] */ ChartFont **ppfont);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shadow )( 
            IMsoChartArea * This,
            /* [retval][out] */ VARIANT_BOOL *pf);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Shadow )( 
            IMsoChartArea * This,
            /* [in] */ VARIANT_BOOL pf);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClearFormats )( 
            IMsoChartArea * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IMsoChartArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IMsoChartArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interior )( 
            IMsoChartArea * This,
            /* [retval][out] */ IMsoInterior **ppinterior);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoChartArea * This,
            /* [retval][out] */ ChartFillFormat **ppfill);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IMsoChartArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            IMsoChartArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IMsoChartArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            IMsoChartArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IMsoChartArea * This,
            /* [retval][out] */ double *pd);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IMsoChartArea * This,
            /* [in] */ double pd);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoScaleFont )( 
            IMsoChartArea * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoScaleFont )( 
            IMsoChartArea * This,
            /* [in] */ VARIANT pvar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoChartArea * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RoundedCorners )( 
            IMsoChartArea * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RoundedCorners )( 
            IMsoChartArea * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoChartArea * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoChartArea * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoChartAreaVtbl;

    interface IMsoChartArea
    {
        CONST_VTBL struct IMsoChartAreaVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoChartArea_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoChartArea_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoChartArea_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoChartArea_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoChartArea_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoChartArea_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoChartArea_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoChartArea_get_Name(This,bstr)	\
    ( (This)->lpVtbl -> get_Name(This,bstr) ) 

#define IMsoChartArea_Select(This,pvar)	\
    ( (This)->lpVtbl -> Select(This,pvar) ) 

#define IMsoChartArea_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define IMsoChartArea_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoChartArea_Clear(This,pvar)	\
    ( (This)->lpVtbl -> Clear(This,pvar) ) 

#define IMsoChartArea_ClearContents(This,pvar)	\
    ( (This)->lpVtbl -> ClearContents(This,pvar) ) 

#define IMsoChartArea_Copy(This,pvar)	\
    ( (This)->lpVtbl -> Copy(This,pvar) ) 

#define IMsoChartArea_get_Font(This,ppfont)	\
    ( (This)->lpVtbl -> get_Font(This,ppfont) ) 

#define IMsoChartArea_get_Shadow(This,pf)	\
    ( (This)->lpVtbl -> get_Shadow(This,pf) ) 

#define IMsoChartArea_put_Shadow(This,pf)	\
    ( (This)->lpVtbl -> put_Shadow(This,pf) ) 

#define IMsoChartArea_ClearFormats(This,pvar)	\
    ( (This)->lpVtbl -> ClearFormats(This,pvar) ) 

#define IMsoChartArea_get_Height(This,pd)	\
    ( (This)->lpVtbl -> get_Height(This,pd) ) 

#define IMsoChartArea_put_Height(This,pd)	\
    ( (This)->lpVtbl -> put_Height(This,pd) ) 

#define IMsoChartArea_get_Interior(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Interior(This,ppinterior) ) 

#define IMsoChartArea_get_Fill(This,ppfill)	\
    ( (This)->lpVtbl -> get_Fill(This,ppfill) ) 

#define IMsoChartArea_get_Left(This,pd)	\
    ( (This)->lpVtbl -> get_Left(This,pd) ) 

#define IMsoChartArea_put_Left(This,pd)	\
    ( (This)->lpVtbl -> put_Left(This,pd) ) 

#define IMsoChartArea_get_Top(This,pd)	\
    ( (This)->lpVtbl -> get_Top(This,pd) ) 

#define IMsoChartArea_put_Top(This,pd)	\
    ( (This)->lpVtbl -> put_Top(This,pd) ) 

#define IMsoChartArea_get_Width(This,pd)	\
    ( (This)->lpVtbl -> get_Width(This,pd) ) 

#define IMsoChartArea_put_Width(This,pd)	\
    ( (This)->lpVtbl -> put_Width(This,pd) ) 

#define IMsoChartArea_get_AutoScaleFont(This,pvar)	\
    ( (This)->lpVtbl -> get_AutoScaleFont(This,pvar) ) 

#define IMsoChartArea_put_AutoScaleFont(This,pvar)	\
    ( (This)->lpVtbl -> put_AutoScaleFont(This,pvar) ) 

#define IMsoChartArea_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoChartArea_get_RoundedCorners(This,pval)	\
    ( (This)->lpVtbl -> get_RoundedCorners(This,pval) ) 

#define IMsoChartArea_put_RoundedCorners(This,pval)	\
    ( (This)->lpVtbl -> put_RoundedCorners(This,pval) ) 

#define IMsoChartArea_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoChartArea_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoChartArea_INTERFACE_DEFINED__ */


#ifndef __IMsoSeriesLines_INTERFACE_DEFINED__
#define __IMsoSeriesLines_INTERFACE_DEFINED__

/* interface IMsoSeriesLines */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoSeriesLines;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1729-0000-0000-C000-000000000046")
    IMsoSeriesLines : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstr) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoSeriesLinesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoSeriesLines * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoSeriesLines * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoSeriesLines * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoSeriesLines * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoSeriesLines * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoSeriesLines * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoSeriesLines * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoSeriesLines * This,
            /* [retval][out] */ BSTR *bstr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoSeriesLines * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoSeriesLines * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoSeriesLines * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoSeriesLines * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoSeriesLines * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoSeriesLines * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoSeriesLines * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoSeriesLinesVtbl;

    interface IMsoSeriesLines
    {
        CONST_VTBL struct IMsoSeriesLinesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoSeriesLines_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoSeriesLines_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoSeriesLines_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoSeriesLines_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoSeriesLines_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoSeriesLines_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoSeriesLines_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoSeriesLines_get_Name(This,bstr)	\
    ( (This)->lpVtbl -> get_Name(This,bstr) ) 

#define IMsoSeriesLines_Select(This,pvar)	\
    ( (This)->lpVtbl -> Select(This,pvar) ) 

#define IMsoSeriesLines_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define IMsoSeriesLines_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoSeriesLines_Delete(This,pvar)	\
    ( (This)->lpVtbl -> Delete(This,pvar) ) 

#define IMsoSeriesLines_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoSeriesLines_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoSeriesLines_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoSeriesLines_INTERFACE_DEFINED__ */


#ifndef __IMsoLeaderLines_INTERFACE_DEFINED__
#define __IMsoLeaderLines_INTERFACE_DEFINED__

/* interface IMsoLeaderLines */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoLeaderLines;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1723-0000-0000-C000-000000000046")
    IMsoLeaderLines : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoLeaderLinesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoLeaderLines * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoLeaderLines * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoLeaderLines * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoLeaderLines * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoLeaderLines * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoLeaderLines * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoLeaderLines * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoLeaderLines * This);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoLeaderLines * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoLeaderLines * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoLeaderLines * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoLeaderLines * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoLeaderLines * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoLeaderLines * This,
            /* [retval][out] */ IDispatch **RHS);
        
        END_INTERFACE
    } IMsoLeaderLinesVtbl;

    interface IMsoLeaderLines
    {
        CONST_VTBL struct IMsoLeaderLinesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoLeaderLines_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoLeaderLines_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoLeaderLines_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoLeaderLines_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoLeaderLines_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoLeaderLines_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoLeaderLines_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoLeaderLines_Select(This)	\
    ( (This)->lpVtbl -> Select(This) ) 

#define IMsoLeaderLines_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoLeaderLines_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IMsoLeaderLines_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoLeaderLines_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoLeaderLines_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoLeaderLines_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoLeaderLines_INTERFACE_DEFINED__ */


#ifndef __GridLines_INTERFACE_DEFINED__
#define __GridLines_INTERFACE_DEFINED__

/* interface GridLines */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_GridLines;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1725-0000-0000-C000-000000000046")
    GridLines : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstr) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct GridLinesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            GridLines * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            GridLines * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            GridLines * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            GridLines * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            GridLines * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            GridLines * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            GridLines * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            GridLines * This,
            /* [retval][out] */ BSTR *bstr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            GridLines * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            GridLines * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            GridLines * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            GridLines * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            GridLines * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            GridLines * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            GridLines * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } GridLinesVtbl;

    interface GridLines
    {
        CONST_VTBL struct GridLinesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define GridLines_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define GridLines_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define GridLines_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define GridLines_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define GridLines_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define GridLines_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define GridLines_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define GridLines_get_Name(This,bstr)	\
    ( (This)->lpVtbl -> get_Name(This,bstr) ) 

#define GridLines_Select(This,pvar)	\
    ( (This)->lpVtbl -> Select(This,pvar) ) 

#define GridLines_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define GridLines_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define GridLines_Delete(This,pvar)	\
    ( (This)->lpVtbl -> Delete(This,pvar) ) 

#define GridLines_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define GridLines_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define GridLines_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __GridLines_INTERFACE_DEFINED__ */


#ifndef __IMsoUpBars_INTERFACE_DEFINED__
#define __IMsoUpBars_INTERFACE_DEFINED__

/* interface IMsoUpBars */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoUpBars;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C172A-0000-0000-C000-000000000046")
    IMsoUpBars : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstr) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Interior( 
            /* [retval][out] */ IMsoInterior **ppinterior) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ ChartFillFormat **ppfill) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoUpBarsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoUpBars * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoUpBars * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoUpBars * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoUpBars * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoUpBars * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoUpBars * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoUpBars * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoUpBars * This,
            /* [retval][out] */ BSTR *bstr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoUpBars * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoUpBars * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoUpBars * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoUpBars * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interior )( 
            IMsoUpBars * This,
            /* [retval][out] */ IMsoInterior **ppinterior);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoUpBars * This,
            /* [retval][out] */ ChartFillFormat **ppfill);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoUpBars * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoUpBars * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoUpBars * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoUpBarsVtbl;

    interface IMsoUpBars
    {
        CONST_VTBL struct IMsoUpBarsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoUpBars_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoUpBars_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoUpBars_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoUpBars_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoUpBars_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoUpBars_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoUpBars_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoUpBars_get_Name(This,bstr)	\
    ( (This)->lpVtbl -> get_Name(This,bstr) ) 

#define IMsoUpBars_Select(This,pvar)	\
    ( (This)->lpVtbl -> Select(This,pvar) ) 

#define IMsoUpBars_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define IMsoUpBars_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoUpBars_Delete(This,pvar)	\
    ( (This)->lpVtbl -> Delete(This,pvar) ) 

#define IMsoUpBars_get_Interior(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Interior(This,ppinterior) ) 

#define IMsoUpBars_get_Fill(This,ppfill)	\
    ( (This)->lpVtbl -> get_Fill(This,ppfill) ) 

#define IMsoUpBars_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoUpBars_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoUpBars_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoUpBars_INTERFACE_DEFINED__ */


#ifndef __IMsoDownBars_INTERFACE_DEFINED__
#define __IMsoDownBars_INTERFACE_DEFINED__

/* interface IMsoDownBars */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoDownBars;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C172D-0000-0000-C000-000000000046")
    IMsoDownBars : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstr) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Interior( 
            /* [retval][out] */ IMsoInterior **ppinterior) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ ChartFillFormat **ppfill) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoDownBarsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoDownBars * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoDownBars * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoDownBars * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoDownBars * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoDownBars * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoDownBars * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoDownBars * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoDownBars * This,
            /* [retval][out] */ BSTR *bstr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoDownBars * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoDownBars * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoDownBars * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoDownBars * This,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interior )( 
            IMsoDownBars * This,
            /* [retval][out] */ IMsoInterior **ppinterior);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoDownBars * This,
            /* [retval][out] */ ChartFillFormat **ppfill);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoDownBars * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoDownBars * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoDownBars * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoDownBarsVtbl;

    interface IMsoDownBars
    {
        CONST_VTBL struct IMsoDownBarsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoDownBars_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoDownBars_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoDownBars_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoDownBars_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoDownBars_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoDownBars_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoDownBars_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoDownBars_get_Name(This,bstr)	\
    ( (This)->lpVtbl -> get_Name(This,bstr) ) 

#define IMsoDownBars_Select(This,pvar)	\
    ( (This)->lpVtbl -> Select(This,pvar) ) 

#define IMsoDownBars_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define IMsoDownBars_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoDownBars_Delete(This,pvar)	\
    ( (This)->lpVtbl -> Delete(This,pvar) ) 

#define IMsoDownBars_get_Interior(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Interior(This,ppinterior) ) 

#define IMsoDownBars_get_Fill(This,ppfill)	\
    ( (This)->lpVtbl -> get_Fill(This,ppfill) ) 

#define IMsoDownBars_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoDownBars_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoDownBars_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoDownBars_INTERFACE_DEFINED__ */


#ifndef __IMsoInterior_INTERFACE_DEFINED__
#define __IMsoInterior_INTERFACE_DEFINED__

/* interface IMsoInterior */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoInterior;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C171B-0000-0000-C000-000000000046")
    IMsoInterior : public IDispatch
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ColorIndex( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ColorIndex( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_InvertIfNegative( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_InvertIfNegative( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Pattern( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Pattern( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PatternColor( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PatternColor( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PatternColorIndex( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PatternColorIndex( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoInteriorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoInterior * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoInterior * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoInterior * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoInterior * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoInterior * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoInterior * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoInterior * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IMsoInterior * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IMsoInterior * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorIndex )( 
            IMsoInterior * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorIndex )( 
            IMsoInterior * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InvertIfNegative )( 
            IMsoInterior * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InvertIfNegative )( 
            IMsoInterior * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Pattern )( 
            IMsoInterior * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Pattern )( 
            IMsoInterior * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PatternColor )( 
            IMsoInterior * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PatternColor )( 
            IMsoInterior * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PatternColorIndex )( 
            IMsoInterior * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PatternColorIndex )( 
            IMsoInterior * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoInterior * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoInterior * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoInterior * This,
            /* [retval][out] */ IDispatch **RHS);
        
        END_INTERFACE
    } IMsoInteriorVtbl;

    interface IMsoInterior
    {
        CONST_VTBL struct IMsoInteriorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoInterior_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoInterior_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoInterior_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoInterior_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoInterior_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoInterior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoInterior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoInterior_put_Color(This,pval)	\
    ( (This)->lpVtbl -> put_Color(This,pval) ) 

#define IMsoInterior_get_Color(This,pval)	\
    ( (This)->lpVtbl -> get_Color(This,pval) ) 

#define IMsoInterior_put_ColorIndex(This,pval)	\
    ( (This)->lpVtbl -> put_ColorIndex(This,pval) ) 

#define IMsoInterior_get_ColorIndex(This,pval)	\
    ( (This)->lpVtbl -> get_ColorIndex(This,pval) ) 

#define IMsoInterior_put_InvertIfNegative(This,pval)	\
    ( (This)->lpVtbl -> put_InvertIfNegative(This,pval) ) 

#define IMsoInterior_get_InvertIfNegative(This,pval)	\
    ( (This)->lpVtbl -> get_InvertIfNegative(This,pval) ) 

#define IMsoInterior_put_Pattern(This,pval)	\
    ( (This)->lpVtbl -> put_Pattern(This,pval) ) 

#define IMsoInterior_get_Pattern(This,pval)	\
    ( (This)->lpVtbl -> get_Pattern(This,pval) ) 

#define IMsoInterior_put_PatternColor(This,pval)	\
    ( (This)->lpVtbl -> put_PatternColor(This,pval) ) 

#define IMsoInterior_get_PatternColor(This,pval)	\
    ( (This)->lpVtbl -> get_PatternColor(This,pval) ) 

#define IMsoInterior_put_PatternColorIndex(This,pval)	\
    ( (This)->lpVtbl -> put_PatternColorIndex(This,pval) ) 

#define IMsoInterior_get_PatternColorIndex(This,pval)	\
    ( (This)->lpVtbl -> get_PatternColorIndex(This,pval) ) 

#define IMsoInterior_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoInterior_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoInterior_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoInterior_INTERFACE_DEFINED__ */


#ifndef __ChartFillFormat_INTERFACE_DEFINED__
#define __ChartFillFormat_INTERFACE_DEFINED__

/* interface ChartFillFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ChartFillFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C171C-0000-0000-C000-000000000046")
    ChartFillFormat : public IDispatch
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE OneColorGradient( 
            /* [in] */ int Style,
            /* [in] */ int Variant,
            /* [in] */ single Degree) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE TwoColorGradient( 
            /* [in] */ int Style,
            /* [in] */ int Variant) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PresetTextured( 
            /* [in] */ int PresetTexture) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Solid( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Patterned( 
            /* [in] */ int Pattern) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE UserPicture( 
            /* [in] */ VARIANT PictureFile,
            /* [in] */ VARIANT PictureFormat,
            /* [in] */ VARIANT PictureStackUnit,
            /* [in] */ VARIANT PicturePlacement) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE UserTextured( 
            /* [in] */ BSTR TextureFile) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE PresetGradient( 
            /* [in] */ int Style,
            /* [in] */ int Variant,
            /* [in] */ int PresetGradientType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BackColor( 
            /* [retval][out] */ ChartColorFormat **pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ForeColor( 
            /* [retval][out] */ ChartColorFormat **pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GradientColorType( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GradientDegree( 
            /* [retval][out] */ single *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GradientStyle( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GradientVariant( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Pattern( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetGradientType( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PresetTexture( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextureName( 
            /* [retval][out] */ BSTR *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextureType( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ int pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ChartFillFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ChartFillFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ChartFillFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ChartFillFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ChartFillFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ChartFillFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ChartFillFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ChartFillFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *OneColorGradient )( 
            ChartFillFormat * This,
            /* [in] */ int Style,
            /* [in] */ int Variant,
            /* [in] */ single Degree);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *TwoColorGradient )( 
            ChartFillFormat * This,
            /* [in] */ int Style,
            /* [in] */ int Variant);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PresetTextured )( 
            ChartFillFormat * This,
            /* [in] */ int PresetTexture);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Solid )( 
            ChartFillFormat * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Patterned )( 
            ChartFillFormat * This,
            /* [in] */ int Pattern);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *UserPicture )( 
            ChartFillFormat * This,
            /* [in] */ VARIANT PictureFile,
            /* [in] */ VARIANT PictureFormat,
            /* [in] */ VARIANT PictureStackUnit,
            /* [in] */ VARIANT PicturePlacement);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *UserTextured )( 
            ChartFillFormat * This,
            /* [in] */ BSTR TextureFile);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *PresetGradient )( 
            ChartFillFormat * This,
            /* [in] */ int Style,
            /* [in] */ int Variant,
            /* [in] */ int PresetGradientType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BackColor )( 
            ChartFillFormat * This,
            /* [retval][out] */ ChartColorFormat **pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ForeColor )( 
            ChartFillFormat * This,
            /* [retval][out] */ ChartColorFormat **pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GradientColorType )( 
            ChartFillFormat * This,
            /* [retval][out] */ int *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GradientDegree )( 
            ChartFillFormat * This,
            /* [retval][out] */ single *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GradientStyle )( 
            ChartFillFormat * This,
            /* [retval][out] */ int *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GradientVariant )( 
            ChartFillFormat * This,
            /* [retval][out] */ int *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Pattern )( 
            ChartFillFormat * This,
            /* [retval][out] */ int *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetGradientType )( 
            ChartFillFormat * This,
            /* [retval][out] */ int *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PresetTexture )( 
            ChartFillFormat * This,
            /* [retval][out] */ int *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextureName )( 
            ChartFillFormat * This,
            /* [retval][out] */ BSTR *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextureType )( 
            ChartFillFormat * This,
            /* [retval][out] */ int *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            ChartFillFormat * This,
            /* [retval][out] */ int *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            ChartFillFormat * This,
            /* [in] */ int pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            ChartFillFormat * This,
            /* [retval][out] */ int *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ChartFillFormat * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ChartFillFormat * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ChartFillFormat * This,
            /* [retval][out] */ IDispatch **RHS);
        
        END_INTERFACE
    } ChartFillFormatVtbl;

    interface ChartFillFormat
    {
        CONST_VTBL struct ChartFillFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ChartFillFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ChartFillFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ChartFillFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ChartFillFormat_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ChartFillFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ChartFillFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ChartFillFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ChartFillFormat_OneColorGradient(This,Style,Variant,Degree)	\
    ( (This)->lpVtbl -> OneColorGradient(This,Style,Variant,Degree) ) 

#define ChartFillFormat_TwoColorGradient(This,Style,Variant)	\
    ( (This)->lpVtbl -> TwoColorGradient(This,Style,Variant) ) 

#define ChartFillFormat_PresetTextured(This,PresetTexture)	\
    ( (This)->lpVtbl -> PresetTextured(This,PresetTexture) ) 

#define ChartFillFormat_Solid(This)	\
    ( (This)->lpVtbl -> Solid(This) ) 

#define ChartFillFormat_Patterned(This,Pattern)	\
    ( (This)->lpVtbl -> Patterned(This,Pattern) ) 

#define ChartFillFormat_UserPicture(This,PictureFile,PictureFormat,PictureStackUnit,PicturePlacement)	\
    ( (This)->lpVtbl -> UserPicture(This,PictureFile,PictureFormat,PictureStackUnit,PicturePlacement) ) 

#define ChartFillFormat_UserTextured(This,TextureFile)	\
    ( (This)->lpVtbl -> UserTextured(This,TextureFile) ) 

#define ChartFillFormat_PresetGradient(This,Style,Variant,PresetGradientType)	\
    ( (This)->lpVtbl -> PresetGradient(This,Style,Variant,PresetGradientType) ) 

#define ChartFillFormat_get_BackColor(This,pval)	\
    ( (This)->lpVtbl -> get_BackColor(This,pval) ) 

#define ChartFillFormat_get_ForeColor(This,pval)	\
    ( (This)->lpVtbl -> get_ForeColor(This,pval) ) 

#define ChartFillFormat_get_GradientColorType(This,pval)	\
    ( (This)->lpVtbl -> get_GradientColorType(This,pval) ) 

#define ChartFillFormat_get_GradientDegree(This,pval)	\
    ( (This)->lpVtbl -> get_GradientDegree(This,pval) ) 

#define ChartFillFormat_get_GradientStyle(This,pval)	\
    ( (This)->lpVtbl -> get_GradientStyle(This,pval) ) 

#define ChartFillFormat_get_GradientVariant(This,pval)	\
    ( (This)->lpVtbl -> get_GradientVariant(This,pval) ) 

#define ChartFillFormat_get_Pattern(This,pval)	\
    ( (This)->lpVtbl -> get_Pattern(This,pval) ) 

#define ChartFillFormat_get_PresetGradientType(This,pval)	\
    ( (This)->lpVtbl -> get_PresetGradientType(This,pval) ) 

#define ChartFillFormat_get_PresetTexture(This,pval)	\
    ( (This)->lpVtbl -> get_PresetTexture(This,pval) ) 

#define ChartFillFormat_get_TextureName(This,pval)	\
    ( (This)->lpVtbl -> get_TextureName(This,pval) ) 

#define ChartFillFormat_get_TextureType(This,pval)	\
    ( (This)->lpVtbl -> get_TextureType(This,pval) ) 

#define ChartFillFormat_get_Type(This,pval)	\
    ( (This)->lpVtbl -> get_Type(This,pval) ) 

#define ChartFillFormat_put_Visible(This,pval)	\
    ( (This)->lpVtbl -> put_Visible(This,pval) ) 

#define ChartFillFormat_get_Visible(This,pval)	\
    ( (This)->lpVtbl -> get_Visible(This,pval) ) 

#define ChartFillFormat_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define ChartFillFormat_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define ChartFillFormat_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ChartFillFormat_INTERFACE_DEFINED__ */


#ifndef __LegendEntries_INTERFACE_DEFINED__
#define __LegendEntries_INTERFACE_DEFINED__

/* interface LegendEntries */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_LegendEntries;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1719-0000-0000-C000-000000000046")
    LegendEntries : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Count( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ LegendEntry **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall _NewEnum( 
            /* [retval][out] */ IUnknown **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get__Default( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ LegendEntry **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct LegendEntriesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            LegendEntries * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            LegendEntries * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            LegendEntries * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            LegendEntries * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            LegendEntries * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            LegendEntries * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            LegendEntries * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            LegendEntries * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Count )( 
            LegendEntries * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Item )( 
            LegendEntries * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ LegendEntry **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *_NewEnum )( 
            LegendEntries * This,
            /* [retval][out] */ IUnknown **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            LegendEntries * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            LegendEntries * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get__Default )( 
            LegendEntries * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ LegendEntry **RHS);
        
        END_INTERFACE
    } LegendEntriesVtbl;

    interface LegendEntries
    {
        CONST_VTBL struct LegendEntriesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define LegendEntries_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define LegendEntries_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define LegendEntries_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define LegendEntries_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define LegendEntries_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define LegendEntries_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define LegendEntries_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define LegendEntries_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define LegendEntries_get_Count(This,RHS)	\
    ( (This)->lpVtbl -> get_Count(This,RHS) ) 

#define LegendEntries_Item(This,Index,RHS)	\
    ( (This)->lpVtbl -> Item(This,Index,RHS) ) 

#define LegendEntries__NewEnum(This,RHS)	\
    ( (This)->lpVtbl -> _NewEnum(This,RHS) ) 

#define LegendEntries_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define LegendEntries_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define LegendEntries_get__Default(This,Index,RHS)	\
    ( (This)->lpVtbl -> get__Default(This,Index,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __LegendEntries_INTERFACE_DEFINED__ */


#ifndef __ChartFont_INTERFACE_DEFINED__
#define __ChartFont_INTERFACE_DEFINED__

/* interface ChartFont */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ChartFont;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1718-0000-0000-C000-000000000046")
    ChartFont : public IDispatch
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Background( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Background( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Bold( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Bold( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ColorIndex( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ColorIndex( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FontStyle( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FontStyle( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Italic( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Italic( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_OutlineFont( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_OutlineFont( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Shadow( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Shadow( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Size( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_StrikeThrough( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_StrikeThrough( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Subscript( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Subscript( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Superscript( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Superscript( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Underline( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Underline( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ChartFontVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ChartFont * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ChartFont * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ChartFont * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ChartFont * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ChartFont * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ChartFont * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ChartFont * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Background )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Background )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Bold )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Bold )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ColorIndex )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ColorIndex )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FontStyle )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FontStyle )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Italic )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Italic )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OutlineFont )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OutlineFont )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Shadow )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shadow )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Size )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StrikeThrough )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StrikeThrough )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Subscript )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Subscript )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Superscript )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Superscript )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Underline )( 
            ChartFont * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Underline )( 
            ChartFont * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ChartFont * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ChartFont * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ChartFont * This,
            /* [retval][out] */ IDispatch **RHS);
        
        END_INTERFACE
    } ChartFontVtbl;

    interface ChartFont
    {
        CONST_VTBL struct ChartFontVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ChartFont_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ChartFont_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ChartFont_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ChartFont_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ChartFont_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ChartFont_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ChartFont_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ChartFont_put_Background(This,pval)	\
    ( (This)->lpVtbl -> put_Background(This,pval) ) 

#define ChartFont_get_Background(This,pval)	\
    ( (This)->lpVtbl -> get_Background(This,pval) ) 

#define ChartFont_put_Bold(This,pval)	\
    ( (This)->lpVtbl -> put_Bold(This,pval) ) 

#define ChartFont_get_Bold(This,pval)	\
    ( (This)->lpVtbl -> get_Bold(This,pval) ) 

#define ChartFont_put_Color(This,pval)	\
    ( (This)->lpVtbl -> put_Color(This,pval) ) 

#define ChartFont_get_Color(This,pval)	\
    ( (This)->lpVtbl -> get_Color(This,pval) ) 

#define ChartFont_put_ColorIndex(This,pval)	\
    ( (This)->lpVtbl -> put_ColorIndex(This,pval) ) 

#define ChartFont_get_ColorIndex(This,pval)	\
    ( (This)->lpVtbl -> get_ColorIndex(This,pval) ) 

#define ChartFont_put_FontStyle(This,pval)	\
    ( (This)->lpVtbl -> put_FontStyle(This,pval) ) 

#define ChartFont_get_FontStyle(This,pval)	\
    ( (This)->lpVtbl -> get_FontStyle(This,pval) ) 

#define ChartFont_put_Italic(This,pval)	\
    ( (This)->lpVtbl -> put_Italic(This,pval) ) 

#define ChartFont_get_Italic(This,pval)	\
    ( (This)->lpVtbl -> get_Italic(This,pval) ) 

#define ChartFont_put_Name(This,pval)	\
    ( (This)->lpVtbl -> put_Name(This,pval) ) 

#define ChartFont_get_Name(This,pval)	\
    ( (This)->lpVtbl -> get_Name(This,pval) ) 

#define ChartFont_put_OutlineFont(This,pval)	\
    ( (This)->lpVtbl -> put_OutlineFont(This,pval) ) 

#define ChartFont_get_OutlineFont(This,pval)	\
    ( (This)->lpVtbl -> get_OutlineFont(This,pval) ) 

#define ChartFont_put_Shadow(This,pval)	\
    ( (This)->lpVtbl -> put_Shadow(This,pval) ) 

#define ChartFont_get_Shadow(This,pval)	\
    ( (This)->lpVtbl -> get_Shadow(This,pval) ) 

#define ChartFont_put_Size(This,pval)	\
    ( (This)->lpVtbl -> put_Size(This,pval) ) 

#define ChartFont_get_Size(This,pval)	\
    ( (This)->lpVtbl -> get_Size(This,pval) ) 

#define ChartFont_put_StrikeThrough(This,pval)	\
    ( (This)->lpVtbl -> put_StrikeThrough(This,pval) ) 

#define ChartFont_get_StrikeThrough(This,pval)	\
    ( (This)->lpVtbl -> get_StrikeThrough(This,pval) ) 

#define ChartFont_put_Subscript(This,pval)	\
    ( (This)->lpVtbl -> put_Subscript(This,pval) ) 

#define ChartFont_get_Subscript(This,pval)	\
    ( (This)->lpVtbl -> get_Subscript(This,pval) ) 

#define ChartFont_put_Superscript(This,pval)	\
    ( (This)->lpVtbl -> put_Superscript(This,pval) ) 

#define ChartFont_get_Superscript(This,pval)	\
    ( (This)->lpVtbl -> get_Superscript(This,pval) ) 

#define ChartFont_put_Underline(This,pval)	\
    ( (This)->lpVtbl -> put_Underline(This,pval) ) 

#define ChartFont_get_Underline(This,pval)	\
    ( (This)->lpVtbl -> get_Underline(This,pval) ) 

#define ChartFont_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define ChartFont_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define ChartFont_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ChartFont_INTERFACE_DEFINED__ */


#ifndef __ChartColorFormat_INTERFACE_DEFINED__
#define __ChartColorFormat_INTERFACE_DEFINED__

/* interface ChartColorFormat */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_ChartColorFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C171D-0000-0000-C000-000000000046")
    ChartColorFormat : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_SchemeColor( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_SchemeColor( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_RGB( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_RGB( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get__Default( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Type( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ChartColorFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ChartColorFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ChartColorFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ChartColorFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ChartColorFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ChartColorFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ChartColorFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ChartColorFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            ChartColorFormat * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_SchemeColor )( 
            ChartColorFormat * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_SchemeColor )( 
            ChartColorFormat * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_RGB )( 
            ChartColorFormat * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_RGB )( 
            ChartColorFormat * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get__Default )( 
            ChartColorFormat * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Type )( 
            ChartColorFormat * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            ChartColorFormat * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            ChartColorFormat * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } ChartColorFormatVtbl;

    interface ChartColorFormat
    {
        CONST_VTBL struct ChartColorFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ChartColorFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ChartColorFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ChartColorFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ChartColorFormat_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ChartColorFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ChartColorFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ChartColorFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ChartColorFormat_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define ChartColorFormat_get_SchemeColor(This,RHS)	\
    ( (This)->lpVtbl -> get_SchemeColor(This,RHS) ) 

#define ChartColorFormat_put_SchemeColor(This,RHS)	\
    ( (This)->lpVtbl -> put_SchemeColor(This,RHS) ) 

#define ChartColorFormat_get_RGB(This,RHS)	\
    ( (This)->lpVtbl -> get_RGB(This,RHS) ) 

#define ChartColorFormat_put_RGB(This,RHS)	\
    ( (This)->lpVtbl -> put_RGB(This,RHS) ) 

#define ChartColorFormat_get__Default(This,RHS)	\
    ( (This)->lpVtbl -> get__Default(This,RHS) ) 

#define ChartColorFormat_get_Type(This,RHS)	\
    ( (This)->lpVtbl -> get_Type(This,RHS) ) 

#define ChartColorFormat_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define ChartColorFormat_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ChartColorFormat_INTERFACE_DEFINED__ */


#ifndef __LegendEntry_INTERFACE_DEFINED__
#define __LegendEntry_INTERFACE_DEFINED__

/* interface LegendEntry */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_LegendEntry;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C171A-0000-0000-C000-000000000046")
    LegendEntry : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Font( 
            /* [retval][out] */ ChartFont **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Index( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_LegendKey( 
            /* [retval][out] */ IMsoLegendKey **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Select( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_AutoScaleFont( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_AutoScaleFont( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Left( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Top( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Width( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Height( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct LegendEntryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            LegendEntry * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            LegendEntry * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            LegendEntry * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            LegendEntry * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            LegendEntry * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            LegendEntry * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            LegendEntry * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            LegendEntry * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Delete )( 
            LegendEntry * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Font )( 
            LegendEntry * This,
            /* [retval][out] */ ChartFont **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Index )( 
            LegendEntry * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_LegendKey )( 
            LegendEntry * This,
            /* [retval][out] */ IMsoLegendKey **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Select )( 
            LegendEntry * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_AutoScaleFont )( 
            LegendEntry * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_AutoScaleFont )( 
            LegendEntry * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Left )( 
            LegendEntry * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Top )( 
            LegendEntry * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Width )( 
            LegendEntry * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Height )( 
            LegendEntry * This,
            /* [retval][out] */ double *RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Format )( 
            LegendEntry * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            LegendEntry * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            LegendEntry * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } LegendEntryVtbl;

    interface LegendEntry
    {
        CONST_VTBL struct LegendEntryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define LegendEntry_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define LegendEntry_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define LegendEntry_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define LegendEntry_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define LegendEntry_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define LegendEntry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define LegendEntry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define LegendEntry_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define LegendEntry_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define LegendEntry_get_Font(This,RHS)	\
    ( (This)->lpVtbl -> get_Font(This,RHS) ) 

#define LegendEntry_get_Index(This,RHS)	\
    ( (This)->lpVtbl -> get_Index(This,RHS) ) 

#define LegendEntry_get_LegendKey(This,RHS)	\
    ( (This)->lpVtbl -> get_LegendKey(This,RHS) ) 

#define LegendEntry_Select(This,RHS)	\
    ( (This)->lpVtbl -> Select(This,RHS) ) 

#define LegendEntry_get_AutoScaleFont(This,RHS)	\
    ( (This)->lpVtbl -> get_AutoScaleFont(This,RHS) ) 

#define LegendEntry_put_AutoScaleFont(This,RHS)	\
    ( (This)->lpVtbl -> put_AutoScaleFont(This,RHS) ) 

#define LegendEntry_get_Left(This,RHS)	\
    ( (This)->lpVtbl -> get_Left(This,RHS) ) 

#define LegendEntry_get_Top(This,RHS)	\
    ( (This)->lpVtbl -> get_Top(This,RHS) ) 

#define LegendEntry_get_Width(This,RHS)	\
    ( (This)->lpVtbl -> get_Width(This,RHS) ) 

#define LegendEntry_get_Height(This,RHS)	\
    ( (This)->lpVtbl -> get_Height(This,RHS) ) 

#define LegendEntry_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define LegendEntry_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define LegendEntry_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __LegendEntry_INTERFACE_DEFINED__ */


#ifndef __IMsoLegendKey_INTERFACE_DEFINED__
#define __IMsoLegendKey_INTERFACE_DEFINED__

/* interface IMsoLegendKey */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoLegendKey;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C171E-0000-0000-C000-000000000046")
    IMsoLegendKey : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Border( 
            /* [retval][out] */ IMsoBorder **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall ClearFormats( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Interior( 
            /* [retval][out] */ IMsoInterior **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Fill( 
            /* [retval][out] */ ChartFillFormat **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_InvertIfNegative( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_InvertIfNegative( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerBackgroundColor( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerBackgroundColor( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerBackgroundColorIndex( 
            /* [retval][out] */ XlColorIndex *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerBackgroundColorIndex( 
            /* [in] */ XlColorIndex RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerForegroundColor( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerForegroundColor( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerForegroundColorIndex( 
            /* [retval][out] */ XlColorIndex *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerForegroundColorIndex( 
            /* [in] */ XlColorIndex RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerSize( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerSize( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerStyle( 
            /* [retval][out] */ XlMarkerStyle *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerStyle( 
            /* [in] */ XlMarkerStyle RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_PictureType( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_PictureType( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_PictureUnit( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_PictureUnit( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Select( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Smooth( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Smooth( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Left( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Top( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Width( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Height( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Shadow( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Shadow( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_PictureUnit2( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_PictureUnit2( 
            /* [in] */ double RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoLegendKeyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoLegendKey * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoLegendKey * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoLegendKey * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoLegendKey * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoLegendKey * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoLegendKey * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoLegendKey * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            IMsoLegendKey * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Border )( 
            IMsoLegendKey * This,
            /* [retval][out] */ IMsoBorder **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *ClearFormats )( 
            IMsoLegendKey * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Delete )( 
            IMsoLegendKey * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Interior )( 
            IMsoLegendKey * This,
            /* [retval][out] */ IMsoInterior **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Fill )( 
            IMsoLegendKey * This,
            /* [retval][out] */ ChartFillFormat **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_InvertIfNegative )( 
            IMsoLegendKey * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_InvertIfNegative )( 
            IMsoLegendKey * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerBackgroundColor )( 
            IMsoLegendKey * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerBackgroundColor )( 
            IMsoLegendKey * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerBackgroundColorIndex )( 
            IMsoLegendKey * This,
            /* [retval][out] */ XlColorIndex *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerBackgroundColorIndex )( 
            IMsoLegendKey * This,
            /* [in] */ XlColorIndex RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerForegroundColor )( 
            IMsoLegendKey * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerForegroundColor )( 
            IMsoLegendKey * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerForegroundColorIndex )( 
            IMsoLegendKey * This,
            /* [retval][out] */ XlColorIndex *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerForegroundColorIndex )( 
            IMsoLegendKey * This,
            /* [in] */ XlColorIndex RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerSize )( 
            IMsoLegendKey * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerSize )( 
            IMsoLegendKey * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerStyle )( 
            IMsoLegendKey * This,
            /* [retval][out] */ XlMarkerStyle *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerStyle )( 
            IMsoLegendKey * This,
            /* [in] */ XlMarkerStyle RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_PictureType )( 
            IMsoLegendKey * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_PictureType )( 
            IMsoLegendKey * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_PictureUnit )( 
            IMsoLegendKey * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_PictureUnit )( 
            IMsoLegendKey * This,
            /* [in] */ double RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Select )( 
            IMsoLegendKey * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Smooth )( 
            IMsoLegendKey * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Smooth )( 
            IMsoLegendKey * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Left )( 
            IMsoLegendKey * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Top )( 
            IMsoLegendKey * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Width )( 
            IMsoLegendKey * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Height )( 
            IMsoLegendKey * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Shadow )( 
            IMsoLegendKey * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Shadow )( 
            IMsoLegendKey * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Format )( 
            IMsoLegendKey * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            IMsoLegendKey * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            IMsoLegendKey * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_PictureUnit2 )( 
            IMsoLegendKey * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_PictureUnit2 )( 
            IMsoLegendKey * This,
            /* [in] */ double RHS);
        
        END_INTERFACE
    } IMsoLegendKeyVtbl;

    interface IMsoLegendKey
    {
        CONST_VTBL struct IMsoLegendKeyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoLegendKey_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoLegendKey_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoLegendKey_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoLegendKey_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoLegendKey_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoLegendKey_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoLegendKey_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoLegendKey_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoLegendKey_get_Border(This,RHS)	\
    ( (This)->lpVtbl -> get_Border(This,RHS) ) 

#define IMsoLegendKey_ClearFormats(This,RHS)	\
    ( (This)->lpVtbl -> ClearFormats(This,RHS) ) 

#define IMsoLegendKey_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define IMsoLegendKey_get_Interior(This,RHS)	\
    ( (This)->lpVtbl -> get_Interior(This,RHS) ) 

#define IMsoLegendKey_get_Fill(This,RHS)	\
    ( (This)->lpVtbl -> get_Fill(This,RHS) ) 

#define IMsoLegendKey_get_InvertIfNegative(This,RHS)	\
    ( (This)->lpVtbl -> get_InvertIfNegative(This,RHS) ) 

#define IMsoLegendKey_put_InvertIfNegative(This,RHS)	\
    ( (This)->lpVtbl -> put_InvertIfNegative(This,RHS) ) 

#define IMsoLegendKey_get_MarkerBackgroundColor(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerBackgroundColor(This,RHS) ) 

#define IMsoLegendKey_put_MarkerBackgroundColor(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerBackgroundColor(This,RHS) ) 

#define IMsoLegendKey_get_MarkerBackgroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerBackgroundColorIndex(This,RHS) ) 

#define IMsoLegendKey_put_MarkerBackgroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerBackgroundColorIndex(This,RHS) ) 

#define IMsoLegendKey_get_MarkerForegroundColor(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerForegroundColor(This,RHS) ) 

#define IMsoLegendKey_put_MarkerForegroundColor(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerForegroundColor(This,RHS) ) 

#define IMsoLegendKey_get_MarkerForegroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerForegroundColorIndex(This,RHS) ) 

#define IMsoLegendKey_put_MarkerForegroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerForegroundColorIndex(This,RHS) ) 

#define IMsoLegendKey_get_MarkerSize(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerSize(This,RHS) ) 

#define IMsoLegendKey_put_MarkerSize(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerSize(This,RHS) ) 

#define IMsoLegendKey_get_MarkerStyle(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerStyle(This,RHS) ) 

#define IMsoLegendKey_put_MarkerStyle(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerStyle(This,RHS) ) 

#define IMsoLegendKey_get_PictureType(This,RHS)	\
    ( (This)->lpVtbl -> get_PictureType(This,RHS) ) 

#define IMsoLegendKey_put_PictureType(This,RHS)	\
    ( (This)->lpVtbl -> put_PictureType(This,RHS) ) 

#define IMsoLegendKey_get_PictureUnit(This,RHS)	\
    ( (This)->lpVtbl -> get_PictureUnit(This,RHS) ) 

#define IMsoLegendKey_put_PictureUnit(This,RHS)	\
    ( (This)->lpVtbl -> put_PictureUnit(This,RHS) ) 

#define IMsoLegendKey_Select(This,RHS)	\
    ( (This)->lpVtbl -> Select(This,RHS) ) 

#define IMsoLegendKey_get_Smooth(This,RHS)	\
    ( (This)->lpVtbl -> get_Smooth(This,RHS) ) 

#define IMsoLegendKey_put_Smooth(This,RHS)	\
    ( (This)->lpVtbl -> put_Smooth(This,RHS) ) 

#define IMsoLegendKey_get_Left(This,RHS)	\
    ( (This)->lpVtbl -> get_Left(This,RHS) ) 

#define IMsoLegendKey_get_Top(This,RHS)	\
    ( (This)->lpVtbl -> get_Top(This,RHS) ) 

#define IMsoLegendKey_get_Width(This,RHS)	\
    ( (This)->lpVtbl -> get_Width(This,RHS) ) 

#define IMsoLegendKey_get_Height(This,RHS)	\
    ( (This)->lpVtbl -> get_Height(This,RHS) ) 

#define IMsoLegendKey_get_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> get_Shadow(This,RHS) ) 

#define IMsoLegendKey_put_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> put_Shadow(This,RHS) ) 

#define IMsoLegendKey_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoLegendKey_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoLegendKey_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoLegendKey_get_PictureUnit2(This,RHS)	\
    ( (This)->lpVtbl -> get_PictureUnit2(This,RHS) ) 

#define IMsoLegendKey_put_PictureUnit2(This,RHS)	\
    ( (This)->lpVtbl -> put_PictureUnit2(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoLegendKey_INTERFACE_DEFINED__ */


#ifndef __SeriesCollection_INTERFACE_DEFINED__
#define __SeriesCollection_INTERFACE_DEFINED__

/* interface SeriesCollection */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_SeriesCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C170A-0000-0000-C000-000000000046")
    SeriesCollection : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Add( 
            /* [in] */ VARIANT Source,
            /* [defaultvalue][optional][in] */ XlRowCol Rowcol,
            /* [optional][in] */ VARIANT SeriesLabels,
            /* [optional][in] */ VARIANT CategoryLabels,
            /* [optional][in] */ VARIANT Replace,
            /* [retval][out] */ IMsoSeries **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Count( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Extend( 
            /* [in] */ VARIANT Source,
            /* [optional][in] */ VARIANT Rowcol,
            /* [optional][in] */ VARIANT CategoryLabels,
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoSeries **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall _NewEnum( 
            /* [retval][out] */ IUnknown **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Paste( 
            /* [defaultvalue][optional][in] */ XlRowCol Rowcol,
            /* [optional][in] */ VARIANT SeriesLabels,
            /* [optional][in] */ VARIANT CategoryLabels,
            /* [optional][in] */ VARIANT Replace,
            /* [optional][in] */ VARIANT NewSeries,
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall NewSeries( 
            /* [retval][out] */ IMsoSeries **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get__Default( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoSeries **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SeriesCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SeriesCollection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SeriesCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SeriesCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SeriesCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SeriesCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SeriesCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SeriesCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            SeriesCollection * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Add )( 
            SeriesCollection * This,
            /* [in] */ VARIANT Source,
            /* [defaultvalue][optional][in] */ XlRowCol Rowcol,
            /* [optional][in] */ VARIANT SeriesLabels,
            /* [optional][in] */ VARIANT CategoryLabels,
            /* [optional][in] */ VARIANT Replace,
            /* [retval][out] */ IMsoSeries **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Count )( 
            SeriesCollection * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Extend )( 
            SeriesCollection * This,
            /* [in] */ VARIANT Source,
            /* [optional][in] */ VARIANT Rowcol,
            /* [optional][in] */ VARIANT CategoryLabels,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Item )( 
            SeriesCollection * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoSeries **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *_NewEnum )( 
            SeriesCollection * This,
            /* [retval][out] */ IUnknown **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Paste )( 
            SeriesCollection * This,
            /* [defaultvalue][optional][in] */ XlRowCol Rowcol,
            /* [optional][in] */ VARIANT SeriesLabels,
            /* [optional][in] */ VARIANT CategoryLabels,
            /* [optional][in] */ VARIANT Replace,
            /* [optional][in] */ VARIANT NewSeries,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *NewSeries )( 
            SeriesCollection * This,
            /* [retval][out] */ IMsoSeries **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            SeriesCollection * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            SeriesCollection * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get__Default )( 
            SeriesCollection * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoSeries **RHS);
        
        END_INTERFACE
    } SeriesCollectionVtbl;

    interface SeriesCollection
    {
        CONST_VTBL struct SeriesCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SeriesCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SeriesCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SeriesCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SeriesCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SeriesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SeriesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SeriesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SeriesCollection_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define SeriesCollection_Add(This,Source,Rowcol,SeriesLabels,CategoryLabels,Replace,RHS)	\
    ( (This)->lpVtbl -> Add(This,Source,Rowcol,SeriesLabels,CategoryLabels,Replace,RHS) ) 

#define SeriesCollection_get_Count(This,RHS)	\
    ( (This)->lpVtbl -> get_Count(This,RHS) ) 

#define SeriesCollection_Extend(This,Source,Rowcol,CategoryLabels,RHS)	\
    ( (This)->lpVtbl -> Extend(This,Source,Rowcol,CategoryLabels,RHS) ) 

#define SeriesCollection_Item(This,Index,RHS)	\
    ( (This)->lpVtbl -> Item(This,Index,RHS) ) 

#define SeriesCollection__NewEnum(This,RHS)	\
    ( (This)->lpVtbl -> _NewEnum(This,RHS) ) 

#define SeriesCollection_Paste(This,Rowcol,SeriesLabels,CategoryLabels,Replace,NewSeries,RHS)	\
    ( (This)->lpVtbl -> Paste(This,Rowcol,SeriesLabels,CategoryLabels,Replace,NewSeries,RHS) ) 

#define SeriesCollection_NewSeries(This,RHS)	\
    ( (This)->lpVtbl -> NewSeries(This,RHS) ) 

#define SeriesCollection_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define SeriesCollection_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define SeriesCollection_get__Default(This,Index,RHS)	\
    ( (This)->lpVtbl -> get__Default(This,Index,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SeriesCollection_INTERFACE_DEFINED__ */


#ifndef __IMsoSeries_INTERFACE_DEFINED__
#define __IMsoSeries_INTERFACE_DEFINED__

/* interface IMsoSeries */
/* [object][hidden][oleautomation][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoSeries;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C170B-0000-0000-C000-000000000046")
    IMsoSeries : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden] */ HRESULT __stdcall _ApplyDataLabels( 
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines,
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_AxisGroup( 
            /* [retval][out] */ XlAxisGroup *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_AxisGroup( 
            /* [in] */ XlAxisGroup RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Border( 
            /* [retval][out] */ IMsoBorder **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall ClearFormats( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Copy( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall DataLabels( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall ErrorBar( 
            /* [in] */ XlErrorBarDirection Direction,
            /* [in] */ XlErrorBarInclude Include,
            /* [in] */ XlErrorBarType Type,
            /* [optional][in] */ VARIANT Amount,
            /* [optional][in] */ VARIANT MinusValues,
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ErrorBars( 
            /* [retval][out] */ IMsoErrorBars **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Explosion( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Explosion( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Formula( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Formula( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_FormulaLocal( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_FormulaLocal( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_FormulaR1C1( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_FormulaR1C1( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_FormulaR1C1Local( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_FormulaR1C1Local( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_HasDataLabels( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_HasDataLabels( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_HasErrorBars( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_HasErrorBars( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Interior( 
            /* [retval][out] */ IMsoInterior **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Fill( 
            /* [retval][out] */ ChartFillFormat **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_InvertIfNegative( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_InvertIfNegative( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerBackgroundColor( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerBackgroundColor( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerBackgroundColorIndex( 
            /* [retval][out] */ XlColorIndex *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerBackgroundColorIndex( 
            /* [in] */ XlColorIndex RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerForegroundColor( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerForegroundColor( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerForegroundColorIndex( 
            /* [retval][out] */ XlColorIndex *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerForegroundColorIndex( 
            /* [in] */ XlColorIndex RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerSize( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerSize( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerStyle( 
            /* [retval][out] */ XlMarkerStyle *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerStyle( 
            /* [in] */ XlMarkerStyle RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Name( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Name( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Paste( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_PictureType( 
            /* [retval][out] */ XlChartPictureType *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_PictureType( 
            /* [in] */ XlChartPictureType RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_PictureUnit( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_PictureUnit( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_PlotOrder( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_PlotOrder( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Points( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Select( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Smooth( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Smooth( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Trendlines( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Type( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Type( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ChartType( 
            /* [retval][out] */ XlChartType *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ChartType( 
            /* [in] */ XlChartType RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall ApplyCustomType( 
            /* [in] */ XlChartType ChartType) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Values( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Values( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_XValues( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_XValues( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_BubbleSizes( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_BubbleSizes( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_BarShape( 
            /* [retval][out] */ XlBarShape *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_BarShape( 
            /* [in] */ XlBarShape RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ApplyPictToSides( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ApplyPictToSides( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ApplyPictToFront( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ApplyPictToFront( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ApplyPictToEnd( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ApplyPictToEnd( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Has3DEffect( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Has3DEffect( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Shadow( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Shadow( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_HasLeaderLines( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_HasLeaderLines( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_LeaderLines( 
            /* [retval][out] */ IMsoLeaderLines **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall ApplyDataLabels( 
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines,
            /* [optional][in] */ VARIANT ShowSeriesName,
            /* [optional][in] */ VARIANT ShowCategoryName,
            /* [optional][in] */ VARIANT ShowValue,
            /* [optional][in] */ VARIANT ShowPercentage,
            /* [optional][in] */ VARIANT ShowBubbleSize,
            /* [optional][in] */ VARIANT Separator,
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_PictureUnit2( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_PictureUnit2( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_PlotColorIndex( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_InvertColor( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_InvertColor( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_InvertColorIndex( 
            /* [retval][out] */ XlColorIndex *RHS) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_InvertColorIndex( 
            /* [in] */ XlColorIndex RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_IsFiltered( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_IsFiltered( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoSeriesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoSeries * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoSeries * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoSeries * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoSeries * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoSeries * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoSeries * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoSeries * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            IMsoSeries * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden] */ HRESULT ( __stdcall *_ApplyDataLabels )( 
            IMsoSeries * This,
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_AxisGroup )( 
            IMsoSeries * This,
            /* [retval][out] */ XlAxisGroup *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_AxisGroup )( 
            IMsoSeries * This,
            /* [in] */ XlAxisGroup RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Border )( 
            IMsoSeries * This,
            /* [retval][out] */ IMsoBorder **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *ClearFormats )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Copy )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *DataLabels )( 
            IMsoSeries * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Delete )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *ErrorBar )( 
            IMsoSeries * This,
            /* [in] */ XlErrorBarDirection Direction,
            /* [in] */ XlErrorBarInclude Include,
            /* [in] */ XlErrorBarType Type,
            /* [optional][in] */ VARIANT Amount,
            /* [optional][in] */ VARIANT MinusValues,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ErrorBars )( 
            IMsoSeries * This,
            /* [retval][out] */ IMsoErrorBars **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Explosion )( 
            IMsoSeries * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Explosion )( 
            IMsoSeries * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Formula )( 
            IMsoSeries * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Formula )( 
            IMsoSeries * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_FormulaLocal )( 
            IMsoSeries * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_FormulaLocal )( 
            IMsoSeries * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_FormulaR1C1 )( 
            IMsoSeries * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_FormulaR1C1 )( 
            IMsoSeries * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_FormulaR1C1Local )( 
            IMsoSeries * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_FormulaR1C1Local )( 
            IMsoSeries * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_HasDataLabels )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_HasDataLabels )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_HasErrorBars )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_HasErrorBars )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Interior )( 
            IMsoSeries * This,
            /* [retval][out] */ IMsoInterior **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Fill )( 
            IMsoSeries * This,
            /* [retval][out] */ ChartFillFormat **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_InvertIfNegative )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_InvertIfNegative )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerBackgroundColor )( 
            IMsoSeries * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerBackgroundColor )( 
            IMsoSeries * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerBackgroundColorIndex )( 
            IMsoSeries * This,
            /* [retval][out] */ XlColorIndex *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerBackgroundColorIndex )( 
            IMsoSeries * This,
            /* [in] */ XlColorIndex RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerForegroundColor )( 
            IMsoSeries * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerForegroundColor )( 
            IMsoSeries * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerForegroundColorIndex )( 
            IMsoSeries * This,
            /* [retval][out] */ XlColorIndex *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerForegroundColorIndex )( 
            IMsoSeries * This,
            /* [in] */ XlColorIndex RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerSize )( 
            IMsoSeries * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerSize )( 
            IMsoSeries * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerStyle )( 
            IMsoSeries * This,
            /* [retval][out] */ XlMarkerStyle *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerStyle )( 
            IMsoSeries * This,
            /* [in] */ XlMarkerStyle RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Name )( 
            IMsoSeries * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Name )( 
            IMsoSeries * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Paste )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_PictureType )( 
            IMsoSeries * This,
            /* [retval][out] */ XlChartPictureType *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_PictureType )( 
            IMsoSeries * This,
            /* [in] */ XlChartPictureType RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_PictureUnit )( 
            IMsoSeries * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_PictureUnit )( 
            IMsoSeries * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_PlotOrder )( 
            IMsoSeries * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_PlotOrder )( 
            IMsoSeries * This,
            /* [in] */ long RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Points )( 
            IMsoSeries * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Select )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Smooth )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Smooth )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Trendlines )( 
            IMsoSeries * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Type )( 
            IMsoSeries * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Type )( 
            IMsoSeries * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ChartType )( 
            IMsoSeries * This,
            /* [retval][out] */ XlChartType *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ChartType )( 
            IMsoSeries * This,
            /* [in] */ XlChartType RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *ApplyCustomType )( 
            IMsoSeries * This,
            /* [in] */ XlChartType ChartType);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Values )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Values )( 
            IMsoSeries * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_XValues )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_XValues )( 
            IMsoSeries * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_BubbleSizes )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_BubbleSizes )( 
            IMsoSeries * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_BarShape )( 
            IMsoSeries * This,
            /* [retval][out] */ XlBarShape *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_BarShape )( 
            IMsoSeries * This,
            /* [in] */ XlBarShape RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ApplyPictToSides )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ApplyPictToSides )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ApplyPictToFront )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ApplyPictToFront )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ApplyPictToEnd )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ApplyPictToEnd )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Has3DEffect )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Has3DEffect )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Shadow )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Shadow )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_HasLeaderLines )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_HasLeaderLines )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_LeaderLines )( 
            IMsoSeries * This,
            /* [retval][out] */ IMsoLeaderLines **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *ApplyDataLabels )( 
            IMsoSeries * This,
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines,
            /* [optional][in] */ VARIANT ShowSeriesName,
            /* [optional][in] */ VARIANT ShowCategoryName,
            /* [optional][in] */ VARIANT ShowValue,
            /* [optional][in] */ VARIANT ShowPercentage,
            /* [optional][in] */ VARIANT ShowBubbleSize,
            /* [optional][in] */ VARIANT Separator,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Format )( 
            IMsoSeries * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            IMsoSeries * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            IMsoSeries * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_PictureUnit2 )( 
            IMsoSeries * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_PictureUnit2 )( 
            IMsoSeries * This,
            /* [in] */ double RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_PlotColorIndex )( 
            IMsoSeries * This,
            /* [retval][out] */ long *RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_InvertColor )( 
            IMsoSeries * This,
            /* [retval][out] */ long *RHS);
        
        /* [propput] */ HRESULT ( __stdcall *put_InvertColor )( 
            IMsoSeries * This,
            /* [in] */ long RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_InvertColorIndex )( 
            IMsoSeries * This,
            /* [retval][out] */ XlColorIndex *RHS);
        
        /* [propput] */ HRESULT ( __stdcall *put_InvertColorIndex )( 
            IMsoSeries * This,
            /* [in] */ XlColorIndex RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_IsFiltered )( 
            IMsoSeries * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [propput] */ HRESULT ( __stdcall *put_IsFiltered )( 
            IMsoSeries * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        END_INTERFACE
    } IMsoSeriesVtbl;

    interface IMsoSeries
    {
        CONST_VTBL struct IMsoSeriesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoSeries_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoSeries_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoSeries_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoSeries_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoSeries_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoSeries_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoSeries_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoSeries_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoSeries__ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines,RHS)	\
    ( (This)->lpVtbl -> _ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines,RHS) ) 

#define IMsoSeries_get_AxisGroup(This,RHS)	\
    ( (This)->lpVtbl -> get_AxisGroup(This,RHS) ) 

#define IMsoSeries_put_AxisGroup(This,RHS)	\
    ( (This)->lpVtbl -> put_AxisGroup(This,RHS) ) 

#define IMsoSeries_get_Border(This,RHS)	\
    ( (This)->lpVtbl -> get_Border(This,RHS) ) 

#define IMsoSeries_ClearFormats(This,RHS)	\
    ( (This)->lpVtbl -> ClearFormats(This,RHS) ) 

#define IMsoSeries_Copy(This,RHS)	\
    ( (This)->lpVtbl -> Copy(This,RHS) ) 

#define IMsoSeries_DataLabels(This,Index,RHS)	\
    ( (This)->lpVtbl -> DataLabels(This,Index,RHS) ) 

#define IMsoSeries_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define IMsoSeries_ErrorBar(This,Direction,Include,Type,Amount,MinusValues,RHS)	\
    ( (This)->lpVtbl -> ErrorBar(This,Direction,Include,Type,Amount,MinusValues,RHS) ) 

#define IMsoSeries_get_ErrorBars(This,RHS)	\
    ( (This)->lpVtbl -> get_ErrorBars(This,RHS) ) 

#define IMsoSeries_get_Explosion(This,RHS)	\
    ( (This)->lpVtbl -> get_Explosion(This,RHS) ) 

#define IMsoSeries_put_Explosion(This,RHS)	\
    ( (This)->lpVtbl -> put_Explosion(This,RHS) ) 

#define IMsoSeries_get_Formula(This,RHS)	\
    ( (This)->lpVtbl -> get_Formula(This,RHS) ) 

#define IMsoSeries_put_Formula(This,RHS)	\
    ( (This)->lpVtbl -> put_Formula(This,RHS) ) 

#define IMsoSeries_get_FormulaLocal(This,RHS)	\
    ( (This)->lpVtbl -> get_FormulaLocal(This,RHS) ) 

#define IMsoSeries_put_FormulaLocal(This,RHS)	\
    ( (This)->lpVtbl -> put_FormulaLocal(This,RHS) ) 

#define IMsoSeries_get_FormulaR1C1(This,RHS)	\
    ( (This)->lpVtbl -> get_FormulaR1C1(This,RHS) ) 

#define IMsoSeries_put_FormulaR1C1(This,RHS)	\
    ( (This)->lpVtbl -> put_FormulaR1C1(This,RHS) ) 

#define IMsoSeries_get_FormulaR1C1Local(This,RHS)	\
    ( (This)->lpVtbl -> get_FormulaR1C1Local(This,RHS) ) 

#define IMsoSeries_put_FormulaR1C1Local(This,RHS)	\
    ( (This)->lpVtbl -> put_FormulaR1C1Local(This,RHS) ) 

#define IMsoSeries_get_HasDataLabels(This,RHS)	\
    ( (This)->lpVtbl -> get_HasDataLabels(This,RHS) ) 

#define IMsoSeries_put_HasDataLabels(This,RHS)	\
    ( (This)->lpVtbl -> put_HasDataLabels(This,RHS) ) 

#define IMsoSeries_get_HasErrorBars(This,RHS)	\
    ( (This)->lpVtbl -> get_HasErrorBars(This,RHS) ) 

#define IMsoSeries_put_HasErrorBars(This,RHS)	\
    ( (This)->lpVtbl -> put_HasErrorBars(This,RHS) ) 

#define IMsoSeries_get_Interior(This,RHS)	\
    ( (This)->lpVtbl -> get_Interior(This,RHS) ) 

#define IMsoSeries_get_Fill(This,RHS)	\
    ( (This)->lpVtbl -> get_Fill(This,RHS) ) 

#define IMsoSeries_get_InvertIfNegative(This,RHS)	\
    ( (This)->lpVtbl -> get_InvertIfNegative(This,RHS) ) 

#define IMsoSeries_put_InvertIfNegative(This,RHS)	\
    ( (This)->lpVtbl -> put_InvertIfNegative(This,RHS) ) 

#define IMsoSeries_get_MarkerBackgroundColor(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerBackgroundColor(This,RHS) ) 

#define IMsoSeries_put_MarkerBackgroundColor(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerBackgroundColor(This,RHS) ) 

#define IMsoSeries_get_MarkerBackgroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerBackgroundColorIndex(This,RHS) ) 

#define IMsoSeries_put_MarkerBackgroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerBackgroundColorIndex(This,RHS) ) 

#define IMsoSeries_get_MarkerForegroundColor(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerForegroundColor(This,RHS) ) 

#define IMsoSeries_put_MarkerForegroundColor(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerForegroundColor(This,RHS) ) 

#define IMsoSeries_get_MarkerForegroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerForegroundColorIndex(This,RHS) ) 

#define IMsoSeries_put_MarkerForegroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerForegroundColorIndex(This,RHS) ) 

#define IMsoSeries_get_MarkerSize(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerSize(This,RHS) ) 

#define IMsoSeries_put_MarkerSize(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerSize(This,RHS) ) 

#define IMsoSeries_get_MarkerStyle(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerStyle(This,RHS) ) 

#define IMsoSeries_put_MarkerStyle(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerStyle(This,RHS) ) 

#define IMsoSeries_get_Name(This,RHS)	\
    ( (This)->lpVtbl -> get_Name(This,RHS) ) 

#define IMsoSeries_put_Name(This,RHS)	\
    ( (This)->lpVtbl -> put_Name(This,RHS) ) 

#define IMsoSeries_Paste(This,RHS)	\
    ( (This)->lpVtbl -> Paste(This,RHS) ) 

#define IMsoSeries_get_PictureType(This,RHS)	\
    ( (This)->lpVtbl -> get_PictureType(This,RHS) ) 

#define IMsoSeries_put_PictureType(This,RHS)	\
    ( (This)->lpVtbl -> put_PictureType(This,RHS) ) 

#define IMsoSeries_get_PictureUnit(This,RHS)	\
    ( (This)->lpVtbl -> get_PictureUnit(This,RHS) ) 

#define IMsoSeries_put_PictureUnit(This,RHS)	\
    ( (This)->lpVtbl -> put_PictureUnit(This,RHS) ) 

#define IMsoSeries_get_PlotOrder(This,RHS)	\
    ( (This)->lpVtbl -> get_PlotOrder(This,RHS) ) 

#define IMsoSeries_put_PlotOrder(This,RHS)	\
    ( (This)->lpVtbl -> put_PlotOrder(This,RHS) ) 

#define IMsoSeries_Points(This,Index,RHS)	\
    ( (This)->lpVtbl -> Points(This,Index,RHS) ) 

#define IMsoSeries_Select(This,RHS)	\
    ( (This)->lpVtbl -> Select(This,RHS) ) 

#define IMsoSeries_get_Smooth(This,RHS)	\
    ( (This)->lpVtbl -> get_Smooth(This,RHS) ) 

#define IMsoSeries_put_Smooth(This,RHS)	\
    ( (This)->lpVtbl -> put_Smooth(This,RHS) ) 

#define IMsoSeries_Trendlines(This,Index,RHS)	\
    ( (This)->lpVtbl -> Trendlines(This,Index,RHS) ) 

#define IMsoSeries_get_Type(This,RHS)	\
    ( (This)->lpVtbl -> get_Type(This,RHS) ) 

#define IMsoSeries_put_Type(This,RHS)	\
    ( (This)->lpVtbl -> put_Type(This,RHS) ) 

#define IMsoSeries_get_ChartType(This,RHS)	\
    ( (This)->lpVtbl -> get_ChartType(This,RHS) ) 

#define IMsoSeries_put_ChartType(This,RHS)	\
    ( (This)->lpVtbl -> put_ChartType(This,RHS) ) 

#define IMsoSeries_ApplyCustomType(This,ChartType)	\
    ( (This)->lpVtbl -> ApplyCustomType(This,ChartType) ) 

#define IMsoSeries_get_Values(This,RHS)	\
    ( (This)->lpVtbl -> get_Values(This,RHS) ) 

#define IMsoSeries_put_Values(This,RHS)	\
    ( (This)->lpVtbl -> put_Values(This,RHS) ) 

#define IMsoSeries_get_XValues(This,RHS)	\
    ( (This)->lpVtbl -> get_XValues(This,RHS) ) 

#define IMsoSeries_put_XValues(This,RHS)	\
    ( (This)->lpVtbl -> put_XValues(This,RHS) ) 

#define IMsoSeries_get_BubbleSizes(This,RHS)	\
    ( (This)->lpVtbl -> get_BubbleSizes(This,RHS) ) 

#define IMsoSeries_put_BubbleSizes(This,RHS)	\
    ( (This)->lpVtbl -> put_BubbleSizes(This,RHS) ) 

#define IMsoSeries_get_BarShape(This,RHS)	\
    ( (This)->lpVtbl -> get_BarShape(This,RHS) ) 

#define IMsoSeries_put_BarShape(This,RHS)	\
    ( (This)->lpVtbl -> put_BarShape(This,RHS) ) 

#define IMsoSeries_get_ApplyPictToSides(This,RHS)	\
    ( (This)->lpVtbl -> get_ApplyPictToSides(This,RHS) ) 

#define IMsoSeries_put_ApplyPictToSides(This,RHS)	\
    ( (This)->lpVtbl -> put_ApplyPictToSides(This,RHS) ) 

#define IMsoSeries_get_ApplyPictToFront(This,RHS)	\
    ( (This)->lpVtbl -> get_ApplyPictToFront(This,RHS) ) 

#define IMsoSeries_put_ApplyPictToFront(This,RHS)	\
    ( (This)->lpVtbl -> put_ApplyPictToFront(This,RHS) ) 

#define IMsoSeries_get_ApplyPictToEnd(This,RHS)	\
    ( (This)->lpVtbl -> get_ApplyPictToEnd(This,RHS) ) 

#define IMsoSeries_put_ApplyPictToEnd(This,RHS)	\
    ( (This)->lpVtbl -> put_ApplyPictToEnd(This,RHS) ) 

#define IMsoSeries_get_Has3DEffect(This,RHS)	\
    ( (This)->lpVtbl -> get_Has3DEffect(This,RHS) ) 

#define IMsoSeries_put_Has3DEffect(This,RHS)	\
    ( (This)->lpVtbl -> put_Has3DEffect(This,RHS) ) 

#define IMsoSeries_get_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> get_Shadow(This,RHS) ) 

#define IMsoSeries_put_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> put_Shadow(This,RHS) ) 

#define IMsoSeries_get_HasLeaderLines(This,RHS)	\
    ( (This)->lpVtbl -> get_HasLeaderLines(This,RHS) ) 

#define IMsoSeries_put_HasLeaderLines(This,RHS)	\
    ( (This)->lpVtbl -> put_HasLeaderLines(This,RHS) ) 

#define IMsoSeries_get_LeaderLines(This,RHS)	\
    ( (This)->lpVtbl -> get_LeaderLines(This,RHS) ) 

#define IMsoSeries_ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines,ShowSeriesName,ShowCategoryName,ShowValue,ShowPercentage,ShowBubbleSize,Separator,RHS)	\
    ( (This)->lpVtbl -> ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines,ShowSeriesName,ShowCategoryName,ShowValue,ShowPercentage,ShowBubbleSize,Separator,RHS) ) 

#define IMsoSeries_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoSeries_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoSeries_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoSeries_get_PictureUnit2(This,RHS)	\
    ( (This)->lpVtbl -> get_PictureUnit2(This,RHS) ) 

#define IMsoSeries_put_PictureUnit2(This,RHS)	\
    ( (This)->lpVtbl -> put_PictureUnit2(This,RHS) ) 

#define IMsoSeries_get_PlotColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> get_PlotColorIndex(This,RHS) ) 

#define IMsoSeries_get_InvertColor(This,RHS)	\
    ( (This)->lpVtbl -> get_InvertColor(This,RHS) ) 

#define IMsoSeries_put_InvertColor(This,RHS)	\
    ( (This)->lpVtbl -> put_InvertColor(This,RHS) ) 

#define IMsoSeries_get_InvertColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> get_InvertColorIndex(This,RHS) ) 

#define IMsoSeries_put_InvertColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> put_InvertColorIndex(This,RHS) ) 

#define IMsoSeries_get_IsFiltered(This,RHS)	\
    ( (This)->lpVtbl -> get_IsFiltered(This,RHS) ) 

#define IMsoSeries_put_IsFiltered(This,RHS)	\
    ( (This)->lpVtbl -> put_IsFiltered(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoSeries_INTERFACE_DEFINED__ */


#ifndef __IMsoErrorBars_INTERFACE_DEFINED__
#define __IMsoErrorBars_INTERFACE_DEFINED__

/* interface IMsoErrorBars */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoErrorBars;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1721-0000-0000-C000-000000000046")
    IMsoErrorBars : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Name( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Select( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Border( 
            /* [retval][out] */ IMsoBorder **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall ClearFormats( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_EndStyle( 
            /* [retval][out] */ XlEndStyleCap *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_EndStyle( 
            /* [in] */ XlEndStyleCap RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoErrorBarsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoErrorBars * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoErrorBars * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoErrorBars * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoErrorBars * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoErrorBars * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoErrorBars * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoErrorBars * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            IMsoErrorBars * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Name )( 
            IMsoErrorBars * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Select )( 
            IMsoErrorBars * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Border )( 
            IMsoErrorBars * This,
            /* [retval][out] */ IMsoBorder **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Delete )( 
            IMsoErrorBars * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *ClearFormats )( 
            IMsoErrorBars * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_EndStyle )( 
            IMsoErrorBars * This,
            /* [retval][out] */ XlEndStyleCap *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_EndStyle )( 
            IMsoErrorBars * This,
            /* [in] */ XlEndStyleCap RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Format )( 
            IMsoErrorBars * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            IMsoErrorBars * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            IMsoErrorBars * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoErrorBarsVtbl;

    interface IMsoErrorBars
    {
        CONST_VTBL struct IMsoErrorBarsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoErrorBars_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoErrorBars_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoErrorBars_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoErrorBars_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoErrorBars_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoErrorBars_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoErrorBars_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoErrorBars_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoErrorBars_get_Name(This,RHS)	\
    ( (This)->lpVtbl -> get_Name(This,RHS) ) 

#define IMsoErrorBars_Select(This,RHS)	\
    ( (This)->lpVtbl -> Select(This,RHS) ) 

#define IMsoErrorBars_get_Border(This,RHS)	\
    ( (This)->lpVtbl -> get_Border(This,RHS) ) 

#define IMsoErrorBars_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define IMsoErrorBars_ClearFormats(This,RHS)	\
    ( (This)->lpVtbl -> ClearFormats(This,RHS) ) 

#define IMsoErrorBars_get_EndStyle(This,RHS)	\
    ( (This)->lpVtbl -> get_EndStyle(This,RHS) ) 

#define IMsoErrorBars_put_EndStyle(This,RHS)	\
    ( (This)->lpVtbl -> put_EndStyle(This,RHS) ) 

#define IMsoErrorBars_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoErrorBars_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoErrorBars_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoErrorBars_INTERFACE_DEFINED__ */


#ifndef __IMsoTrendline_INTERFACE_DEFINED__
#define __IMsoTrendline_INTERFACE_DEFINED__

/* interface IMsoTrendline */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoTrendline;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C170E-0000-0000-C000-000000000046")
    IMsoTrendline : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Backward( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Backward( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Border( 
            /* [retval][out] */ IMsoBorder **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall ClearFormats( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_DataLabel( 
            /* [retval][out] */ IMsoDataLabel **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_DisplayEquation( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_DisplayEquation( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_DisplayRSquared( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_DisplayRSquared( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Forward( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Forward( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Index( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Intercept( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Intercept( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_InterceptIsAuto( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_InterceptIsAuto( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Name( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Name( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_NameIsAuto( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_NameIsAuto( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Order( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Order( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Period( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Period( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Select( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Type( 
            /* [retval][out] */ XlTrendlineType *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Type( 
            /* [in] */ XlTrendlineType RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Backward2( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Backward2( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Forward2( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Forward2( 
            /* [in] */ double RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoTrendlineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoTrendline * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoTrendline * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoTrendline * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoTrendline * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoTrendline * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoTrendline * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoTrendline * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            IMsoTrendline * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Backward )( 
            IMsoTrendline * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Backward )( 
            IMsoTrendline * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Border )( 
            IMsoTrendline * This,
            /* [retval][out] */ IMsoBorder **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *ClearFormats )( 
            IMsoTrendline * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_DataLabel )( 
            IMsoTrendline * This,
            /* [retval][out] */ IMsoDataLabel **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Delete )( 
            IMsoTrendline * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_DisplayEquation )( 
            IMsoTrendline * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_DisplayEquation )( 
            IMsoTrendline * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_DisplayRSquared )( 
            IMsoTrendline * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_DisplayRSquared )( 
            IMsoTrendline * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Forward )( 
            IMsoTrendline * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Forward )( 
            IMsoTrendline * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Index )( 
            IMsoTrendline * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Intercept )( 
            IMsoTrendline * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Intercept )( 
            IMsoTrendline * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_InterceptIsAuto )( 
            IMsoTrendline * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_InterceptIsAuto )( 
            IMsoTrendline * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Name )( 
            IMsoTrendline * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Name )( 
            IMsoTrendline * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_NameIsAuto )( 
            IMsoTrendline * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_NameIsAuto )( 
            IMsoTrendline * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Order )( 
            IMsoTrendline * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Order )( 
            IMsoTrendline * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Period )( 
            IMsoTrendline * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Period )( 
            IMsoTrendline * This,
            /* [in] */ long RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Select )( 
            IMsoTrendline * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Type )( 
            IMsoTrendline * This,
            /* [retval][out] */ XlTrendlineType *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Type )( 
            IMsoTrendline * This,
            /* [in] */ XlTrendlineType RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Format )( 
            IMsoTrendline * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            IMsoTrendline * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            IMsoTrendline * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Backward2 )( 
            IMsoTrendline * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Backward2 )( 
            IMsoTrendline * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Forward2 )( 
            IMsoTrendline * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Forward2 )( 
            IMsoTrendline * This,
            /* [in] */ double RHS);
        
        END_INTERFACE
    } IMsoTrendlineVtbl;

    interface IMsoTrendline
    {
        CONST_VTBL struct IMsoTrendlineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoTrendline_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoTrendline_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoTrendline_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoTrendline_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoTrendline_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoTrendline_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoTrendline_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoTrendline_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoTrendline_get_Backward(This,RHS)	\
    ( (This)->lpVtbl -> get_Backward(This,RHS) ) 

#define IMsoTrendline_put_Backward(This,RHS)	\
    ( (This)->lpVtbl -> put_Backward(This,RHS) ) 

#define IMsoTrendline_get_Border(This,RHS)	\
    ( (This)->lpVtbl -> get_Border(This,RHS) ) 

#define IMsoTrendline_ClearFormats(This,RHS)	\
    ( (This)->lpVtbl -> ClearFormats(This,RHS) ) 

#define IMsoTrendline_get_DataLabel(This,RHS)	\
    ( (This)->lpVtbl -> get_DataLabel(This,RHS) ) 

#define IMsoTrendline_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define IMsoTrendline_get_DisplayEquation(This,RHS)	\
    ( (This)->lpVtbl -> get_DisplayEquation(This,RHS) ) 

#define IMsoTrendline_put_DisplayEquation(This,RHS)	\
    ( (This)->lpVtbl -> put_DisplayEquation(This,RHS) ) 

#define IMsoTrendline_get_DisplayRSquared(This,RHS)	\
    ( (This)->lpVtbl -> get_DisplayRSquared(This,RHS) ) 

#define IMsoTrendline_put_DisplayRSquared(This,RHS)	\
    ( (This)->lpVtbl -> put_DisplayRSquared(This,RHS) ) 

#define IMsoTrendline_get_Forward(This,RHS)	\
    ( (This)->lpVtbl -> get_Forward(This,RHS) ) 

#define IMsoTrendline_put_Forward(This,RHS)	\
    ( (This)->lpVtbl -> put_Forward(This,RHS) ) 

#define IMsoTrendline_get_Index(This,RHS)	\
    ( (This)->lpVtbl -> get_Index(This,RHS) ) 

#define IMsoTrendline_get_Intercept(This,RHS)	\
    ( (This)->lpVtbl -> get_Intercept(This,RHS) ) 

#define IMsoTrendline_put_Intercept(This,RHS)	\
    ( (This)->lpVtbl -> put_Intercept(This,RHS) ) 

#define IMsoTrendline_get_InterceptIsAuto(This,RHS)	\
    ( (This)->lpVtbl -> get_InterceptIsAuto(This,RHS) ) 

#define IMsoTrendline_put_InterceptIsAuto(This,RHS)	\
    ( (This)->lpVtbl -> put_InterceptIsAuto(This,RHS) ) 

#define IMsoTrendline_get_Name(This,RHS)	\
    ( (This)->lpVtbl -> get_Name(This,RHS) ) 

#define IMsoTrendline_put_Name(This,RHS)	\
    ( (This)->lpVtbl -> put_Name(This,RHS) ) 

#define IMsoTrendline_get_NameIsAuto(This,RHS)	\
    ( (This)->lpVtbl -> get_NameIsAuto(This,RHS) ) 

#define IMsoTrendline_put_NameIsAuto(This,RHS)	\
    ( (This)->lpVtbl -> put_NameIsAuto(This,RHS) ) 

#define IMsoTrendline_get_Order(This,RHS)	\
    ( (This)->lpVtbl -> get_Order(This,RHS) ) 

#define IMsoTrendline_put_Order(This,RHS)	\
    ( (This)->lpVtbl -> put_Order(This,RHS) ) 

#define IMsoTrendline_get_Period(This,RHS)	\
    ( (This)->lpVtbl -> get_Period(This,RHS) ) 

#define IMsoTrendline_put_Period(This,RHS)	\
    ( (This)->lpVtbl -> put_Period(This,RHS) ) 

#define IMsoTrendline_Select(This,RHS)	\
    ( (This)->lpVtbl -> Select(This,RHS) ) 

#define IMsoTrendline_get_Type(This,RHS)	\
    ( (This)->lpVtbl -> get_Type(This,RHS) ) 

#define IMsoTrendline_put_Type(This,RHS)	\
    ( (This)->lpVtbl -> put_Type(This,RHS) ) 

#define IMsoTrendline_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoTrendline_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoTrendline_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoTrendline_get_Backward2(This,RHS)	\
    ( (This)->lpVtbl -> get_Backward2(This,RHS) ) 

#define IMsoTrendline_put_Backward2(This,RHS)	\
    ( (This)->lpVtbl -> put_Backward2(This,RHS) ) 

#define IMsoTrendline_get_Forward2(This,RHS)	\
    ( (This)->lpVtbl -> get_Forward2(This,RHS) ) 

#define IMsoTrendline_put_Forward2(This,RHS)	\
    ( (This)->lpVtbl -> put_Forward2(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoTrendline_INTERFACE_DEFINED__ */


#ifndef __Trendlines_INTERFACE_DEFINED__
#define __Trendlines_INTERFACE_DEFINED__

/* interface Trendlines */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_Trendlines;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1722-0000-0000-C000-000000000046")
    Trendlines : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Add( 
            /* [defaultvalue][optional][in] */ XlTrendlineType Type,
            /* [optional][in] */ VARIANT Order,
            /* [optional][in] */ VARIANT Period,
            /* [optional][in] */ VARIANT Forward,
            /* [optional][in] */ VARIANT Backward,
            /* [optional][in] */ VARIANT Intercept,
            /* [optional][in] */ VARIANT DisplayEquation,
            /* [optional][in] */ VARIANT DisplayRSquared,
            /* [optional][in] */ VARIANT Name,
            /* [retval][out] */ IMsoTrendline **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Count( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Item( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IMsoTrendline **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall _NewEnum( 
            /* [retval][out] */ IUnknown **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get__Default( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IMsoTrendline **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct TrendlinesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Trendlines * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Trendlines * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Trendlines * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Trendlines * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Trendlines * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Trendlines * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Trendlines * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            Trendlines * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Add )( 
            Trendlines * This,
            /* [defaultvalue][optional][in] */ XlTrendlineType Type,
            /* [optional][in] */ VARIANT Order,
            /* [optional][in] */ VARIANT Period,
            /* [optional][in] */ VARIANT Forward,
            /* [optional][in] */ VARIANT Backward,
            /* [optional][in] */ VARIANT Intercept,
            /* [optional][in] */ VARIANT DisplayEquation,
            /* [optional][in] */ VARIANT DisplayRSquared,
            /* [optional][in] */ VARIANT Name,
            /* [retval][out] */ IMsoTrendline **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Count )( 
            Trendlines * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Item )( 
            Trendlines * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IMsoTrendline **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *_NewEnum )( 
            Trendlines * This,
            /* [retval][out] */ IUnknown **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            Trendlines * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            Trendlines * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get__Default )( 
            Trendlines * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IMsoTrendline **RHS);
        
        END_INTERFACE
    } TrendlinesVtbl;

    interface Trendlines
    {
        CONST_VTBL struct TrendlinesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Trendlines_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define Trendlines_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define Trendlines_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define Trendlines_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define Trendlines_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define Trendlines_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define Trendlines_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define Trendlines_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define Trendlines_Add(This,Type,Order,Period,Forward,Backward,Intercept,DisplayEquation,DisplayRSquared,Name,RHS)	\
    ( (This)->lpVtbl -> Add(This,Type,Order,Period,Forward,Backward,Intercept,DisplayEquation,DisplayRSquared,Name,RHS) ) 

#define Trendlines_get_Count(This,RHS)	\
    ( (This)->lpVtbl -> get_Count(This,RHS) ) 

#define Trendlines_Item(This,Index,RHS)	\
    ( (This)->lpVtbl -> Item(This,Index,RHS) ) 

#define Trendlines__NewEnum(This,RHS)	\
    ( (This)->lpVtbl -> _NewEnum(This,RHS) ) 

#define Trendlines_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define Trendlines_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define Trendlines_get__Default(This,Index,RHS)	\
    ( (This)->lpVtbl -> get__Default(This,Index,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Trendlines_INTERFACE_DEFINED__ */


#ifndef __IMsoDataLabels_INTERFACE_DEFINED__
#define __IMsoDataLabels_INTERFACE_DEFINED__

/* interface IMsoDataLabels */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoDataLabels;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C171F-0000-0000-C000-000000000046")
    IMsoDataLabels : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Name( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Select( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Border( 
            /* [retval][out] */ IMsoBorder **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Interior( 
            /* [retval][out] */ IMsoInterior **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Fill( 
            /* [retval][out] */ ChartFillFormat **RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Characters( 
            /* [optional][in] */ VARIANT Start,
            /* [optional][in] */ VARIANT Length,
            /* [retval][out] */ IMsoCharacters **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Font( 
            /* [retval][out] */ ChartFont **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_HorizontalAlignment( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_HorizontalAlignment( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Orientation( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Orientation( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Shadow( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Shadow( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_VerticalAlignment( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_VerticalAlignment( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ReadingOrder( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ReadingOrder( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_AutoScaleFont( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_AutoScaleFont( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_AutoText( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_AutoText( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_NumberFormat( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_NumberFormat( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_NumberFormatLinked( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_NumberFormatLinked( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_NumberFormatLocal( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_NumberFormatLocal( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowLegendKey( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowLegendKey( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Type( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Type( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Position( 
            /* [retval][out] */ XlDataLabelPosition *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Position( 
            /* [in] */ XlDataLabelPosition RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowSeriesName( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowSeriesName( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowCategoryName( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowCategoryName( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowValue( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowValue( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowPercentage( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowPercentage( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowBubbleSize( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowBubbleSize( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Separator( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Separator( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Count( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoDataLabel **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall _NewEnum( 
            /* [retval][out] */ IUnknown **RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get__Default( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoDataLabel **RHS) = 0;
        
        virtual HRESULT __stdcall Propagate( 
            /* [in] */ VARIANT Index) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_ShowRange( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_ShowRange( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoDataLabelsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoDataLabels * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoDataLabels * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoDataLabels * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoDataLabels * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoDataLabels * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoDataLabels * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoDataLabels * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            IMsoDataLabels * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Name )( 
            IMsoDataLabels * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Select )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Border )( 
            IMsoDataLabels * This,
            /* [retval][out] */ IMsoBorder **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Delete )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Interior )( 
            IMsoDataLabels * This,
            /* [retval][out] */ IMsoInterior **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Fill )( 
            IMsoDataLabels * This,
            /* [retval][out] */ ChartFillFormat **RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Characters )( 
            IMsoDataLabels * This,
            /* [optional][in] */ VARIANT Start,
            /* [optional][in] */ VARIANT Length,
            /* [retval][out] */ IMsoCharacters **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Font )( 
            IMsoDataLabels * This,
            /* [retval][out] */ ChartFont **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_HorizontalAlignment )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_HorizontalAlignment )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Orientation )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Orientation )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Shadow )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Shadow )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_VerticalAlignment )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_VerticalAlignment )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ReadingOrder )( 
            IMsoDataLabels * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ReadingOrder )( 
            IMsoDataLabels * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_AutoScaleFont )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_AutoScaleFont )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_AutoText )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_AutoText )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_NumberFormat )( 
            IMsoDataLabels * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_NumberFormat )( 
            IMsoDataLabels * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_NumberFormatLinked )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_NumberFormatLinked )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_NumberFormatLocal )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_NumberFormatLocal )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowLegendKey )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowLegendKey )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Type )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Type )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Position )( 
            IMsoDataLabels * This,
            /* [retval][out] */ XlDataLabelPosition *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Position )( 
            IMsoDataLabels * This,
            /* [in] */ XlDataLabelPosition RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowSeriesName )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowSeriesName )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowCategoryName )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowCategoryName )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowValue )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowValue )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowPercentage )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowPercentage )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowBubbleSize )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowBubbleSize )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Separator )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Separator )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Count )( 
            IMsoDataLabels * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Item )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoDataLabel **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *_NewEnum )( 
            IMsoDataLabels * This,
            /* [retval][out] */ IUnknown **RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Format )( 
            IMsoDataLabels * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            IMsoDataLabels * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            IMsoDataLabels * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get__Default )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoDataLabel **RHS);
        
        HRESULT ( __stdcall *Propagate )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT Index);
        
        /* [propget] */ HRESULT ( __stdcall *get_ShowRange )( 
            IMsoDataLabels * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [propput] */ HRESULT ( __stdcall *put_ShowRange )( 
            IMsoDataLabels * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        END_INTERFACE
    } IMsoDataLabelsVtbl;

    interface IMsoDataLabels
    {
        CONST_VTBL struct IMsoDataLabelsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoDataLabels_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoDataLabels_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoDataLabels_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoDataLabels_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoDataLabels_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoDataLabels_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoDataLabels_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoDataLabels_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoDataLabels_get_Name(This,RHS)	\
    ( (This)->lpVtbl -> get_Name(This,RHS) ) 

#define IMsoDataLabels_Select(This,RHS)	\
    ( (This)->lpVtbl -> Select(This,RHS) ) 

#define IMsoDataLabels_get_Border(This,RHS)	\
    ( (This)->lpVtbl -> get_Border(This,RHS) ) 

#define IMsoDataLabels_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define IMsoDataLabels_get_Interior(This,RHS)	\
    ( (This)->lpVtbl -> get_Interior(This,RHS) ) 

#define IMsoDataLabels_get_Fill(This,RHS)	\
    ( (This)->lpVtbl -> get_Fill(This,RHS) ) 

#define IMsoDataLabels_get_Characters(This,Start,Length,RHS)	\
    ( (This)->lpVtbl -> get_Characters(This,Start,Length,RHS) ) 

#define IMsoDataLabels_get_Font(This,RHS)	\
    ( (This)->lpVtbl -> get_Font(This,RHS) ) 

#define IMsoDataLabels_get_HorizontalAlignment(This,RHS)	\
    ( (This)->lpVtbl -> get_HorizontalAlignment(This,RHS) ) 

#define IMsoDataLabels_put_HorizontalAlignment(This,RHS)	\
    ( (This)->lpVtbl -> put_HorizontalAlignment(This,RHS) ) 

#define IMsoDataLabels_get_Orientation(This,RHS)	\
    ( (This)->lpVtbl -> get_Orientation(This,RHS) ) 

#define IMsoDataLabels_put_Orientation(This,RHS)	\
    ( (This)->lpVtbl -> put_Orientation(This,RHS) ) 

#define IMsoDataLabels_get_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> get_Shadow(This,RHS) ) 

#define IMsoDataLabels_put_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> put_Shadow(This,RHS) ) 

#define IMsoDataLabels_get_VerticalAlignment(This,RHS)	\
    ( (This)->lpVtbl -> get_VerticalAlignment(This,RHS) ) 

#define IMsoDataLabels_put_VerticalAlignment(This,RHS)	\
    ( (This)->lpVtbl -> put_VerticalAlignment(This,RHS) ) 

#define IMsoDataLabels_get_ReadingOrder(This,RHS)	\
    ( (This)->lpVtbl -> get_ReadingOrder(This,RHS) ) 

#define IMsoDataLabels_put_ReadingOrder(This,RHS)	\
    ( (This)->lpVtbl -> put_ReadingOrder(This,RHS) ) 

#define IMsoDataLabels_get_AutoScaleFont(This,RHS)	\
    ( (This)->lpVtbl -> get_AutoScaleFont(This,RHS) ) 

#define IMsoDataLabels_put_AutoScaleFont(This,RHS)	\
    ( (This)->lpVtbl -> put_AutoScaleFont(This,RHS) ) 

#define IMsoDataLabels_get_AutoText(This,RHS)	\
    ( (This)->lpVtbl -> get_AutoText(This,RHS) ) 

#define IMsoDataLabels_put_AutoText(This,RHS)	\
    ( (This)->lpVtbl -> put_AutoText(This,RHS) ) 

#define IMsoDataLabels_get_NumberFormat(This,RHS)	\
    ( (This)->lpVtbl -> get_NumberFormat(This,RHS) ) 

#define IMsoDataLabels_put_NumberFormat(This,RHS)	\
    ( (This)->lpVtbl -> put_NumberFormat(This,RHS) ) 

#define IMsoDataLabels_get_NumberFormatLinked(This,RHS)	\
    ( (This)->lpVtbl -> get_NumberFormatLinked(This,RHS) ) 

#define IMsoDataLabels_put_NumberFormatLinked(This,RHS)	\
    ( (This)->lpVtbl -> put_NumberFormatLinked(This,RHS) ) 

#define IMsoDataLabels_get_NumberFormatLocal(This,RHS)	\
    ( (This)->lpVtbl -> get_NumberFormatLocal(This,RHS) ) 

#define IMsoDataLabels_put_NumberFormatLocal(This,RHS)	\
    ( (This)->lpVtbl -> put_NumberFormatLocal(This,RHS) ) 

#define IMsoDataLabels_get_ShowLegendKey(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowLegendKey(This,RHS) ) 

#define IMsoDataLabels_put_ShowLegendKey(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowLegendKey(This,RHS) ) 

#define IMsoDataLabels_get_Type(This,RHS)	\
    ( (This)->lpVtbl -> get_Type(This,RHS) ) 

#define IMsoDataLabels_put_Type(This,RHS)	\
    ( (This)->lpVtbl -> put_Type(This,RHS) ) 

#define IMsoDataLabels_get_Position(This,RHS)	\
    ( (This)->lpVtbl -> get_Position(This,RHS) ) 

#define IMsoDataLabels_put_Position(This,RHS)	\
    ( (This)->lpVtbl -> put_Position(This,RHS) ) 

#define IMsoDataLabels_get_ShowSeriesName(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowSeriesName(This,RHS) ) 

#define IMsoDataLabels_put_ShowSeriesName(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowSeriesName(This,RHS) ) 

#define IMsoDataLabels_get_ShowCategoryName(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowCategoryName(This,RHS) ) 

#define IMsoDataLabels_put_ShowCategoryName(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowCategoryName(This,RHS) ) 

#define IMsoDataLabels_get_ShowValue(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowValue(This,RHS) ) 

#define IMsoDataLabels_put_ShowValue(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowValue(This,RHS) ) 

#define IMsoDataLabels_get_ShowPercentage(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowPercentage(This,RHS) ) 

#define IMsoDataLabels_put_ShowPercentage(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowPercentage(This,RHS) ) 

#define IMsoDataLabels_get_ShowBubbleSize(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowBubbleSize(This,RHS) ) 

#define IMsoDataLabels_put_ShowBubbleSize(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowBubbleSize(This,RHS) ) 

#define IMsoDataLabels_get_Separator(This,RHS)	\
    ( (This)->lpVtbl -> get_Separator(This,RHS) ) 

#define IMsoDataLabels_put_Separator(This,RHS)	\
    ( (This)->lpVtbl -> put_Separator(This,RHS) ) 

#define IMsoDataLabels_get_Count(This,RHS)	\
    ( (This)->lpVtbl -> get_Count(This,RHS) ) 

#define IMsoDataLabels_Item(This,Index,RHS)	\
    ( (This)->lpVtbl -> Item(This,Index,RHS) ) 

#define IMsoDataLabels__NewEnum(This,RHS)	\
    ( (This)->lpVtbl -> _NewEnum(This,RHS) ) 

#define IMsoDataLabels_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoDataLabels_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoDataLabels_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoDataLabels_get__Default(This,Index,RHS)	\
    ( (This)->lpVtbl -> get__Default(This,Index,RHS) ) 

#define IMsoDataLabels_Propagate(This,Index)	\
    ( (This)->lpVtbl -> Propagate(This,Index) ) 

#define IMsoDataLabels_get_ShowRange(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowRange(This,RHS) ) 

#define IMsoDataLabels_put_ShowRange(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowRange(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoDataLabels_INTERFACE_DEFINED__ */


#ifndef __IMsoDataLabel_INTERFACE_DEFINED__
#define __IMsoDataLabel_INTERFACE_DEFINED__

/* interface IMsoDataLabel */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoDataLabel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1720-0000-0000-C000-000000000046")
    IMsoDataLabel : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Name( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Select( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Border( 
            /* [retval][out] */ IMsoBorder **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Interior( 
            /* [retval][out] */ IMsoInterior **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Fill( 
            /* [retval][out] */ ChartFillFormat **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Caption( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Caption( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Characters( 
            /* [optional][in] */ VARIANT Start,
            /* [optional][in] */ VARIANT Length,
            /* [retval][out] */ IMsoCharacters **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Font( 
            /* [retval][out] */ ChartFont **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_HorizontalAlignment( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_HorizontalAlignment( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Left( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Left( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Orientation( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Orientation( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Shadow( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Shadow( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Text( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Text( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Top( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Top( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_VerticalAlignment( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_VerticalAlignment( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ReadingOrder( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ReadingOrder( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_AutoScaleFont( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_AutoScaleFont( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_AutoText( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_AutoText( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_NumberFormat( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_NumberFormat( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_NumberFormatLinked( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_NumberFormatLinked( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_NumberFormatLocal( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_NumberFormatLocal( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowLegendKey( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowLegendKey( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Type( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Type( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Position( 
            /* [retval][out] */ XlDataLabelPosition *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Position( 
            /* [in] */ XlDataLabelPosition RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowSeriesName( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowSeriesName( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowCategoryName( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowCategoryName( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowValue( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowValue( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowPercentage( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowPercentage( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ShowBubbleSize( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ShowBubbleSize( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Separator( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Separator( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [hidden][propget] */ HRESULT __stdcall get__Height( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [hidden][propget] */ HRESULT __stdcall get__Width( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_Formula( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Formula( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_FormulaR1C1( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_FormulaR1C1( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_FormulaLocal( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_FormulaLocal( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_FormulaR1C1Local( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_FormulaR1C1Local( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_ShowRange( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_ShowRange( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Height( 
            /* [retval][out] */ double *pHeight) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_Height( 
            /* [in] */ double pHeight) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Width( 
            /* [retval][out] */ double *pWidth) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_Width( 
            /* [in] */ double pWidth) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoDataLabelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoDataLabel * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoDataLabel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoDataLabel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoDataLabel * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoDataLabel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoDataLabel * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoDataLabel * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            IMsoDataLabel * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Name )( 
            IMsoDataLabel * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Select )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Border )( 
            IMsoDataLabel * This,
            /* [retval][out] */ IMsoBorder **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Delete )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Interior )( 
            IMsoDataLabel * This,
            /* [retval][out] */ IMsoInterior **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Fill )( 
            IMsoDataLabel * This,
            /* [retval][out] */ ChartFillFormat **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Caption )( 
            IMsoDataLabel * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Caption )( 
            IMsoDataLabel * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Characters )( 
            IMsoDataLabel * This,
            /* [optional][in] */ VARIANT Start,
            /* [optional][in] */ VARIANT Length,
            /* [retval][out] */ IMsoCharacters **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Font )( 
            IMsoDataLabel * This,
            /* [retval][out] */ ChartFont **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_HorizontalAlignment )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_HorizontalAlignment )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Left )( 
            IMsoDataLabel * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Left )( 
            IMsoDataLabel * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Orientation )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Orientation )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Shadow )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Shadow )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Text )( 
            IMsoDataLabel * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Text )( 
            IMsoDataLabel * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Top )( 
            IMsoDataLabel * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Top )( 
            IMsoDataLabel * This,
            /* [in] */ double RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_VerticalAlignment )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_VerticalAlignment )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ReadingOrder )( 
            IMsoDataLabel * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ReadingOrder )( 
            IMsoDataLabel * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_AutoScaleFont )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_AutoScaleFont )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_AutoText )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_AutoText )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_NumberFormat )( 
            IMsoDataLabel * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_NumberFormat )( 
            IMsoDataLabel * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_NumberFormatLinked )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_NumberFormatLinked )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_NumberFormatLocal )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_NumberFormatLocal )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowLegendKey )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowLegendKey )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Type )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Type )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Position )( 
            IMsoDataLabel * This,
            /* [retval][out] */ XlDataLabelPosition *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Position )( 
            IMsoDataLabel * This,
            /* [in] */ XlDataLabelPosition RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowSeriesName )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowSeriesName )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowCategoryName )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowCategoryName )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowValue )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowValue )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowPercentage )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowPercentage )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ShowBubbleSize )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ShowBubbleSize )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Separator )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Separator )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Format )( 
            IMsoDataLabel * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [hidden][propget] */ HRESULT ( __stdcall *get__Height )( 
            IMsoDataLabel * This,
            /* [retval][out] */ double *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            IMsoDataLabel * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            IMsoDataLabel * This,
            /* [retval][out] */ long *pval);
        
        /* [hidden][propget] */ HRESULT ( __stdcall *get__Width )( 
            IMsoDataLabel * This,
            /* [retval][out] */ double *pval);
        
        /* [propput] */ HRESULT ( __stdcall *put_Formula )( 
            IMsoDataLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget] */ HRESULT ( __stdcall *get_Formula )( 
            IMsoDataLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput] */ HRESULT ( __stdcall *put_FormulaR1C1 )( 
            IMsoDataLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget] */ HRESULT ( __stdcall *get_FormulaR1C1 )( 
            IMsoDataLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput] */ HRESULT ( __stdcall *put_FormulaLocal )( 
            IMsoDataLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget] */ HRESULT ( __stdcall *get_FormulaLocal )( 
            IMsoDataLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput] */ HRESULT ( __stdcall *put_FormulaR1C1Local )( 
            IMsoDataLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget] */ HRESULT ( __stdcall *get_FormulaR1C1Local )( 
            IMsoDataLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propget] */ HRESULT ( __stdcall *get_ShowRange )( 
            IMsoDataLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [propput] */ HRESULT ( __stdcall *put_ShowRange )( 
            IMsoDataLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Height )( 
            IMsoDataLabel * This,
            /* [retval][out] */ double *pHeight);
        
        /* [propput] */ HRESULT ( __stdcall *put_Height )( 
            IMsoDataLabel * This,
            /* [in] */ double pHeight);
        
        /* [propget] */ HRESULT ( __stdcall *get_Width )( 
            IMsoDataLabel * This,
            /* [retval][out] */ double *pWidth);
        
        /* [propput] */ HRESULT ( __stdcall *put_Width )( 
            IMsoDataLabel * This,
            /* [in] */ double pWidth);
        
        END_INTERFACE
    } IMsoDataLabelVtbl;

    interface IMsoDataLabel
    {
        CONST_VTBL struct IMsoDataLabelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoDataLabel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoDataLabel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoDataLabel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoDataLabel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoDataLabel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoDataLabel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoDataLabel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoDataLabel_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoDataLabel_get_Name(This,RHS)	\
    ( (This)->lpVtbl -> get_Name(This,RHS) ) 

#define IMsoDataLabel_Select(This,RHS)	\
    ( (This)->lpVtbl -> Select(This,RHS) ) 

#define IMsoDataLabel_get_Border(This,RHS)	\
    ( (This)->lpVtbl -> get_Border(This,RHS) ) 

#define IMsoDataLabel_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define IMsoDataLabel_get_Interior(This,RHS)	\
    ( (This)->lpVtbl -> get_Interior(This,RHS) ) 

#define IMsoDataLabel_get_Fill(This,RHS)	\
    ( (This)->lpVtbl -> get_Fill(This,RHS) ) 

#define IMsoDataLabel_get_Caption(This,RHS)	\
    ( (This)->lpVtbl -> get_Caption(This,RHS) ) 

#define IMsoDataLabel_put_Caption(This,RHS)	\
    ( (This)->lpVtbl -> put_Caption(This,RHS) ) 

#define IMsoDataLabel_get_Characters(This,Start,Length,RHS)	\
    ( (This)->lpVtbl -> get_Characters(This,Start,Length,RHS) ) 

#define IMsoDataLabel_get_Font(This,RHS)	\
    ( (This)->lpVtbl -> get_Font(This,RHS) ) 

#define IMsoDataLabel_get_HorizontalAlignment(This,RHS)	\
    ( (This)->lpVtbl -> get_HorizontalAlignment(This,RHS) ) 

#define IMsoDataLabel_put_HorizontalAlignment(This,RHS)	\
    ( (This)->lpVtbl -> put_HorizontalAlignment(This,RHS) ) 

#define IMsoDataLabel_get_Left(This,RHS)	\
    ( (This)->lpVtbl -> get_Left(This,RHS) ) 

#define IMsoDataLabel_put_Left(This,RHS)	\
    ( (This)->lpVtbl -> put_Left(This,RHS) ) 

#define IMsoDataLabel_get_Orientation(This,RHS)	\
    ( (This)->lpVtbl -> get_Orientation(This,RHS) ) 

#define IMsoDataLabel_put_Orientation(This,RHS)	\
    ( (This)->lpVtbl -> put_Orientation(This,RHS) ) 

#define IMsoDataLabel_get_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> get_Shadow(This,RHS) ) 

#define IMsoDataLabel_put_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> put_Shadow(This,RHS) ) 

#define IMsoDataLabel_get_Text(This,RHS)	\
    ( (This)->lpVtbl -> get_Text(This,RHS) ) 

#define IMsoDataLabel_put_Text(This,RHS)	\
    ( (This)->lpVtbl -> put_Text(This,RHS) ) 

#define IMsoDataLabel_get_Top(This,RHS)	\
    ( (This)->lpVtbl -> get_Top(This,RHS) ) 

#define IMsoDataLabel_put_Top(This,RHS)	\
    ( (This)->lpVtbl -> put_Top(This,RHS) ) 

#define IMsoDataLabel_get_VerticalAlignment(This,RHS)	\
    ( (This)->lpVtbl -> get_VerticalAlignment(This,RHS) ) 

#define IMsoDataLabel_put_VerticalAlignment(This,RHS)	\
    ( (This)->lpVtbl -> put_VerticalAlignment(This,RHS) ) 

#define IMsoDataLabel_get_ReadingOrder(This,RHS)	\
    ( (This)->lpVtbl -> get_ReadingOrder(This,RHS) ) 

#define IMsoDataLabel_put_ReadingOrder(This,RHS)	\
    ( (This)->lpVtbl -> put_ReadingOrder(This,RHS) ) 

#define IMsoDataLabel_get_AutoScaleFont(This,RHS)	\
    ( (This)->lpVtbl -> get_AutoScaleFont(This,RHS) ) 

#define IMsoDataLabel_put_AutoScaleFont(This,RHS)	\
    ( (This)->lpVtbl -> put_AutoScaleFont(This,RHS) ) 

#define IMsoDataLabel_get_AutoText(This,RHS)	\
    ( (This)->lpVtbl -> get_AutoText(This,RHS) ) 

#define IMsoDataLabel_put_AutoText(This,RHS)	\
    ( (This)->lpVtbl -> put_AutoText(This,RHS) ) 

#define IMsoDataLabel_get_NumberFormat(This,RHS)	\
    ( (This)->lpVtbl -> get_NumberFormat(This,RHS) ) 

#define IMsoDataLabel_put_NumberFormat(This,RHS)	\
    ( (This)->lpVtbl -> put_NumberFormat(This,RHS) ) 

#define IMsoDataLabel_get_NumberFormatLinked(This,RHS)	\
    ( (This)->lpVtbl -> get_NumberFormatLinked(This,RHS) ) 

#define IMsoDataLabel_put_NumberFormatLinked(This,RHS)	\
    ( (This)->lpVtbl -> put_NumberFormatLinked(This,RHS) ) 

#define IMsoDataLabel_get_NumberFormatLocal(This,RHS)	\
    ( (This)->lpVtbl -> get_NumberFormatLocal(This,RHS) ) 

#define IMsoDataLabel_put_NumberFormatLocal(This,RHS)	\
    ( (This)->lpVtbl -> put_NumberFormatLocal(This,RHS) ) 

#define IMsoDataLabel_get_ShowLegendKey(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowLegendKey(This,RHS) ) 

#define IMsoDataLabel_put_ShowLegendKey(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowLegendKey(This,RHS) ) 

#define IMsoDataLabel_get_Type(This,RHS)	\
    ( (This)->lpVtbl -> get_Type(This,RHS) ) 

#define IMsoDataLabel_put_Type(This,RHS)	\
    ( (This)->lpVtbl -> put_Type(This,RHS) ) 

#define IMsoDataLabel_get_Position(This,RHS)	\
    ( (This)->lpVtbl -> get_Position(This,RHS) ) 

#define IMsoDataLabel_put_Position(This,RHS)	\
    ( (This)->lpVtbl -> put_Position(This,RHS) ) 

#define IMsoDataLabel_get_ShowSeriesName(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowSeriesName(This,RHS) ) 

#define IMsoDataLabel_put_ShowSeriesName(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowSeriesName(This,RHS) ) 

#define IMsoDataLabel_get_ShowCategoryName(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowCategoryName(This,RHS) ) 

#define IMsoDataLabel_put_ShowCategoryName(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowCategoryName(This,RHS) ) 

#define IMsoDataLabel_get_ShowValue(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowValue(This,RHS) ) 

#define IMsoDataLabel_put_ShowValue(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowValue(This,RHS) ) 

#define IMsoDataLabel_get_ShowPercentage(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowPercentage(This,RHS) ) 

#define IMsoDataLabel_put_ShowPercentage(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowPercentage(This,RHS) ) 

#define IMsoDataLabel_get_ShowBubbleSize(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowBubbleSize(This,RHS) ) 

#define IMsoDataLabel_put_ShowBubbleSize(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowBubbleSize(This,RHS) ) 

#define IMsoDataLabel_get_Separator(This,RHS)	\
    ( (This)->lpVtbl -> get_Separator(This,RHS) ) 

#define IMsoDataLabel_put_Separator(This,RHS)	\
    ( (This)->lpVtbl -> put_Separator(This,RHS) ) 

#define IMsoDataLabel_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoDataLabel_get__Height(This,pval)	\
    ( (This)->lpVtbl -> get__Height(This,pval) ) 

#define IMsoDataLabel_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoDataLabel_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoDataLabel_get__Width(This,pval)	\
    ( (This)->lpVtbl -> get__Width(This,pval) ) 

#define IMsoDataLabel_put_Formula(This,pbstr)	\
    ( (This)->lpVtbl -> put_Formula(This,pbstr) ) 

#define IMsoDataLabel_get_Formula(This,pbstr)	\
    ( (This)->lpVtbl -> get_Formula(This,pbstr) ) 

#define IMsoDataLabel_put_FormulaR1C1(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaR1C1(This,pbstr) ) 

#define IMsoDataLabel_get_FormulaR1C1(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaR1C1(This,pbstr) ) 

#define IMsoDataLabel_put_FormulaLocal(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaLocal(This,pbstr) ) 

#define IMsoDataLabel_get_FormulaLocal(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaLocal(This,pbstr) ) 

#define IMsoDataLabel_put_FormulaR1C1Local(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaR1C1Local(This,pbstr) ) 

#define IMsoDataLabel_get_FormulaR1C1Local(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaR1C1Local(This,pbstr) ) 

#define IMsoDataLabel_get_ShowRange(This,RHS)	\
    ( (This)->lpVtbl -> get_ShowRange(This,RHS) ) 

#define IMsoDataLabel_put_ShowRange(This,RHS)	\
    ( (This)->lpVtbl -> put_ShowRange(This,RHS) ) 

#define IMsoDataLabel_get_Height(This,pHeight)	\
    ( (This)->lpVtbl -> get_Height(This,pHeight) ) 

#define IMsoDataLabel_put_Height(This,pHeight)	\
    ( (This)->lpVtbl -> put_Height(This,pHeight) ) 

#define IMsoDataLabel_get_Width(This,pWidth)	\
    ( (This)->lpVtbl -> get_Width(This,pWidth) ) 

#define IMsoDataLabel_put_Width(This,pWidth)	\
    ( (This)->lpVtbl -> put_Width(This,pWidth) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoDataLabel_INTERFACE_DEFINED__ */


#ifndef __Points_INTERFACE_DEFINED__
#define __Points_INTERFACE_DEFINED__

/* interface Points */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_Points;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C170D-0000-0000-C000-000000000046")
    Points : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Count( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Item( 
            /* [in] */ long Index,
            /* [retval][out] */ ChartPoint **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall _NewEnum( 
            /* [retval][out] */ IUnknown **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get__Default( 
            /* [in] */ long Index,
            /* [retval][out] */ ChartPoint **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PointsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Points * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Points * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Points * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Points * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Points * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Points * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Points * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            Points * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Count )( 
            Points * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Item )( 
            Points * This,
            /* [in] */ long Index,
            /* [retval][out] */ ChartPoint **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *_NewEnum )( 
            Points * This,
            /* [retval][out] */ IUnknown **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            Points * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            Points * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get__Default )( 
            Points * This,
            /* [in] */ long Index,
            /* [retval][out] */ ChartPoint **RHS);
        
        END_INTERFACE
    } PointsVtbl;

    interface Points
    {
        CONST_VTBL struct PointsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Points_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define Points_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define Points_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define Points_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define Points_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define Points_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define Points_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define Points_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define Points_get_Count(This,RHS)	\
    ( (This)->lpVtbl -> get_Count(This,RHS) ) 

#define Points_Item(This,Index,RHS)	\
    ( (This)->lpVtbl -> Item(This,Index,RHS) ) 

#define Points__NewEnum(This,RHS)	\
    ( (This)->lpVtbl -> _NewEnum(This,RHS) ) 

#define Points_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define Points_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define Points_get__Default(This,Index,RHS)	\
    ( (This)->lpVtbl -> get__Default(This,Index,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Points_INTERFACE_DEFINED__ */


#ifndef __ChartPoint_INTERFACE_DEFINED__
#define __ChartPoint_INTERFACE_DEFINED__

/* interface ChartPoint */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_ChartPoint;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C170C-0000-0000-C000-000000000046")
    ChartPoint : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][hidden] */ HRESULT __stdcall _ApplyDataLabels( 
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines,
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Border( 
            /* [retval][out] */ IMsoBorder **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall ClearFormats( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Copy( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_DataLabel( 
            /* [retval][out] */ IMsoDataLabel **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Explosion( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Explosion( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_HasDataLabel( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_HasDataLabel( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Interior( 
            /* [retval][out] */ IMsoInterior **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_InvertIfNegative( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_InvertIfNegative( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerBackgroundColor( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerBackgroundColor( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerBackgroundColorIndex( 
            /* [retval][out] */ XlColorIndex *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerBackgroundColorIndex( 
            /* [in] */ XlColorIndex RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerForegroundColor( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerForegroundColor( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerForegroundColorIndex( 
            /* [retval][out] */ XlColorIndex *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerForegroundColorIndex( 
            /* [in] */ XlColorIndex RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerSize( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerSize( 
            /* [in] */ long RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_MarkerStyle( 
            /* [retval][out] */ XlMarkerStyle *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_MarkerStyle( 
            /* [in] */ XlMarkerStyle RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Paste( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_PictureType( 
            /* [retval][out] */ XlChartPictureType *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_PictureType( 
            /* [in] */ XlChartPictureType RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_PictureUnit( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_PictureUnit( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Select( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ApplyPictToSides( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ApplyPictToSides( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ApplyPictToFront( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ApplyPictToFront( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_ApplyPictToEnd( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_ApplyPictToEnd( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Shadow( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Shadow( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_SecondaryPlot( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_SecondaryPlot( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Fill( 
            /* [retval][out] */ ChartFillFormat **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall ApplyDataLabels( 
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines,
            /* [optional][in] */ VARIANT ShowSeriesName,
            /* [optional][in] */ VARIANT ShowCategoryName,
            /* [optional][in] */ VARIANT ShowValue,
            /* [optional][in] */ VARIANT ShowPercentage,
            /* [optional][in] */ VARIANT ShowBubbleSize,
            /* [optional][in] */ VARIANT Separator,
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Has3DEffect( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_Has3DEffect( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_PictureUnit2( 
            /* [retval][out] */ double *RHS) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT __stdcall put_PictureUnit2( 
            /* [in] */ double RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Name( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Height( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Width( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Left( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Top( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual HRESULT __stdcall PieSliceLocation( 
            /* [in] */ XlPieSliceLocation loc,
            /* [defaultvalue][optional][in] */ XlPieSliceIndex Index,
            /* [retval][out] */ double *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ChartPointVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ChartPoint * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ChartPoint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ChartPoint * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ChartPoint * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ChartPoint * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ChartPoint * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ChartPoint * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            ChartPoint * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][hidden] */ HRESULT ( __stdcall *_ApplyDataLabels )( 
            ChartPoint * This,
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Border )( 
            ChartPoint * This,
            /* [retval][out] */ IMsoBorder **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *ClearFormats )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Copy )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_DataLabel )( 
            ChartPoint * This,
            /* [retval][out] */ IMsoDataLabel **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Delete )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Explosion )( 
            ChartPoint * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Explosion )( 
            ChartPoint * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_HasDataLabel )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_HasDataLabel )( 
            ChartPoint * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Interior )( 
            ChartPoint * This,
            /* [retval][out] */ IMsoInterior **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_InvertIfNegative )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_InvertIfNegative )( 
            ChartPoint * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerBackgroundColor )( 
            ChartPoint * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerBackgroundColor )( 
            ChartPoint * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerBackgroundColorIndex )( 
            ChartPoint * This,
            /* [retval][out] */ XlColorIndex *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerBackgroundColorIndex )( 
            ChartPoint * This,
            /* [in] */ XlColorIndex RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerForegroundColor )( 
            ChartPoint * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerForegroundColor )( 
            ChartPoint * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerForegroundColorIndex )( 
            ChartPoint * This,
            /* [retval][out] */ XlColorIndex *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerForegroundColorIndex )( 
            ChartPoint * This,
            /* [in] */ XlColorIndex RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerSize )( 
            ChartPoint * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerSize )( 
            ChartPoint * This,
            /* [in] */ long RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_MarkerStyle )( 
            ChartPoint * This,
            /* [retval][out] */ XlMarkerStyle *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_MarkerStyle )( 
            ChartPoint * This,
            /* [in] */ XlMarkerStyle RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Paste )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_PictureType )( 
            ChartPoint * This,
            /* [retval][out] */ XlChartPictureType *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_PictureType )( 
            ChartPoint * This,
            /* [in] */ XlChartPictureType RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_PictureUnit )( 
            ChartPoint * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_PictureUnit )( 
            ChartPoint * This,
            /* [in] */ double RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Select )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ApplyPictToSides )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ApplyPictToSides )( 
            ChartPoint * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ApplyPictToFront )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ApplyPictToFront )( 
            ChartPoint * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_ApplyPictToEnd )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_ApplyPictToEnd )( 
            ChartPoint * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Shadow )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Shadow )( 
            ChartPoint * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_SecondaryPlot )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_SecondaryPlot )( 
            ChartPoint * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Fill )( 
            ChartPoint * This,
            /* [retval][out] */ ChartFillFormat **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *ApplyDataLabels )( 
            ChartPoint * This,
            /* [defaultvalue][optional][in] */ XlDataLabelsType Type,
            /* [optional][in] */ VARIANT IMsoLegendKey,
            /* [optional][in] */ VARIANT AutoText,
            /* [optional][in] */ VARIANT HasLeaderLines,
            /* [optional][in] */ VARIANT ShowSeriesName,
            /* [optional][in] */ VARIANT ShowCategoryName,
            /* [optional][in] */ VARIANT ShowValue,
            /* [optional][in] */ VARIANT ShowPercentage,
            /* [optional][in] */ VARIANT ShowBubbleSize,
            /* [optional][in] */ VARIANT Separator,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Has3DEffect )( 
            ChartPoint * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_Has3DEffect )( 
            ChartPoint * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Format )( 
            ChartPoint * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            ChartPoint * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            ChartPoint * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_PictureUnit2 )( 
            ChartPoint * This,
            /* [retval][out] */ double *RHS);
        
        /* [helpcontext][propput] */ HRESULT ( __stdcall *put_PictureUnit2 )( 
            ChartPoint * This,
            /* [in] */ double RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Name )( 
            ChartPoint * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Height )( 
            ChartPoint * This,
            /* [retval][out] */ double *pval);
        
        /* [propget] */ HRESULT ( __stdcall *get_Width )( 
            ChartPoint * This,
            /* [retval][out] */ double *pval);
        
        /* [propget] */ HRESULT ( __stdcall *get_Left )( 
            ChartPoint * This,
            /* [retval][out] */ double *pval);
        
        /* [propget] */ HRESULT ( __stdcall *get_Top )( 
            ChartPoint * This,
            /* [retval][out] */ double *pval);
        
        HRESULT ( __stdcall *PieSliceLocation )( 
            ChartPoint * This,
            /* [in] */ XlPieSliceLocation loc,
            /* [defaultvalue][optional][in] */ XlPieSliceIndex Index,
            /* [retval][out] */ double *pval);
        
        END_INTERFACE
    } ChartPointVtbl;

    interface ChartPoint
    {
        CONST_VTBL struct ChartPointVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ChartPoint_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ChartPoint_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ChartPoint_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ChartPoint_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ChartPoint_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ChartPoint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ChartPoint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ChartPoint_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define ChartPoint__ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines,RHS)	\
    ( (This)->lpVtbl -> _ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines,RHS) ) 

#define ChartPoint_get_Border(This,RHS)	\
    ( (This)->lpVtbl -> get_Border(This,RHS) ) 

#define ChartPoint_ClearFormats(This,RHS)	\
    ( (This)->lpVtbl -> ClearFormats(This,RHS) ) 

#define ChartPoint_Copy(This,RHS)	\
    ( (This)->lpVtbl -> Copy(This,RHS) ) 

#define ChartPoint_get_DataLabel(This,RHS)	\
    ( (This)->lpVtbl -> get_DataLabel(This,RHS) ) 

#define ChartPoint_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define ChartPoint_get_Explosion(This,RHS)	\
    ( (This)->lpVtbl -> get_Explosion(This,RHS) ) 

#define ChartPoint_put_Explosion(This,RHS)	\
    ( (This)->lpVtbl -> put_Explosion(This,RHS) ) 

#define ChartPoint_get_HasDataLabel(This,RHS)	\
    ( (This)->lpVtbl -> get_HasDataLabel(This,RHS) ) 

#define ChartPoint_put_HasDataLabel(This,RHS)	\
    ( (This)->lpVtbl -> put_HasDataLabel(This,RHS) ) 

#define ChartPoint_get_Interior(This,RHS)	\
    ( (This)->lpVtbl -> get_Interior(This,RHS) ) 

#define ChartPoint_get_InvertIfNegative(This,RHS)	\
    ( (This)->lpVtbl -> get_InvertIfNegative(This,RHS) ) 

#define ChartPoint_put_InvertIfNegative(This,RHS)	\
    ( (This)->lpVtbl -> put_InvertIfNegative(This,RHS) ) 

#define ChartPoint_get_MarkerBackgroundColor(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerBackgroundColor(This,RHS) ) 

#define ChartPoint_put_MarkerBackgroundColor(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerBackgroundColor(This,RHS) ) 

#define ChartPoint_get_MarkerBackgroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerBackgroundColorIndex(This,RHS) ) 

#define ChartPoint_put_MarkerBackgroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerBackgroundColorIndex(This,RHS) ) 

#define ChartPoint_get_MarkerForegroundColor(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerForegroundColor(This,RHS) ) 

#define ChartPoint_put_MarkerForegroundColor(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerForegroundColor(This,RHS) ) 

#define ChartPoint_get_MarkerForegroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerForegroundColorIndex(This,RHS) ) 

#define ChartPoint_put_MarkerForegroundColorIndex(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerForegroundColorIndex(This,RHS) ) 

#define ChartPoint_get_MarkerSize(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerSize(This,RHS) ) 

#define ChartPoint_put_MarkerSize(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerSize(This,RHS) ) 

#define ChartPoint_get_MarkerStyle(This,RHS)	\
    ( (This)->lpVtbl -> get_MarkerStyle(This,RHS) ) 

#define ChartPoint_put_MarkerStyle(This,RHS)	\
    ( (This)->lpVtbl -> put_MarkerStyle(This,RHS) ) 

#define ChartPoint_Paste(This,RHS)	\
    ( (This)->lpVtbl -> Paste(This,RHS) ) 

#define ChartPoint_get_PictureType(This,RHS)	\
    ( (This)->lpVtbl -> get_PictureType(This,RHS) ) 

#define ChartPoint_put_PictureType(This,RHS)	\
    ( (This)->lpVtbl -> put_PictureType(This,RHS) ) 

#define ChartPoint_get_PictureUnit(This,RHS)	\
    ( (This)->lpVtbl -> get_PictureUnit(This,RHS) ) 

#define ChartPoint_put_PictureUnit(This,RHS)	\
    ( (This)->lpVtbl -> put_PictureUnit(This,RHS) ) 

#define ChartPoint_Select(This,RHS)	\
    ( (This)->lpVtbl -> Select(This,RHS) ) 

#define ChartPoint_get_ApplyPictToSides(This,RHS)	\
    ( (This)->lpVtbl -> get_ApplyPictToSides(This,RHS) ) 

#define ChartPoint_put_ApplyPictToSides(This,RHS)	\
    ( (This)->lpVtbl -> put_ApplyPictToSides(This,RHS) ) 

#define ChartPoint_get_ApplyPictToFront(This,RHS)	\
    ( (This)->lpVtbl -> get_ApplyPictToFront(This,RHS) ) 

#define ChartPoint_put_ApplyPictToFront(This,RHS)	\
    ( (This)->lpVtbl -> put_ApplyPictToFront(This,RHS) ) 

#define ChartPoint_get_ApplyPictToEnd(This,RHS)	\
    ( (This)->lpVtbl -> get_ApplyPictToEnd(This,RHS) ) 

#define ChartPoint_put_ApplyPictToEnd(This,RHS)	\
    ( (This)->lpVtbl -> put_ApplyPictToEnd(This,RHS) ) 

#define ChartPoint_get_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> get_Shadow(This,RHS) ) 

#define ChartPoint_put_Shadow(This,RHS)	\
    ( (This)->lpVtbl -> put_Shadow(This,RHS) ) 

#define ChartPoint_get_SecondaryPlot(This,RHS)	\
    ( (This)->lpVtbl -> get_SecondaryPlot(This,RHS) ) 

#define ChartPoint_put_SecondaryPlot(This,RHS)	\
    ( (This)->lpVtbl -> put_SecondaryPlot(This,RHS) ) 

#define ChartPoint_get_Fill(This,RHS)	\
    ( (This)->lpVtbl -> get_Fill(This,RHS) ) 

#define ChartPoint_ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines,ShowSeriesName,ShowCategoryName,ShowValue,ShowPercentage,ShowBubbleSize,Separator,RHS)	\
    ( (This)->lpVtbl -> ApplyDataLabels(This,Type,IMsoLegendKey,AutoText,HasLeaderLines,ShowSeriesName,ShowCategoryName,ShowValue,ShowPercentage,ShowBubbleSize,Separator,RHS) ) 

#define ChartPoint_get_Has3DEffect(This,RHS)	\
    ( (This)->lpVtbl -> get_Has3DEffect(This,RHS) ) 

#define ChartPoint_put_Has3DEffect(This,RHS)	\
    ( (This)->lpVtbl -> put_Has3DEffect(This,RHS) ) 

#define ChartPoint_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define ChartPoint_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define ChartPoint_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define ChartPoint_get_PictureUnit2(This,RHS)	\
    ( (This)->lpVtbl -> get_PictureUnit2(This,RHS) ) 

#define ChartPoint_put_PictureUnit2(This,RHS)	\
    ( (This)->lpVtbl -> put_PictureUnit2(This,RHS) ) 

#define ChartPoint_get_Name(This,RHS)	\
    ( (This)->lpVtbl -> get_Name(This,RHS) ) 

#define ChartPoint_get_Height(This,pval)	\
    ( (This)->lpVtbl -> get_Height(This,pval) ) 

#define ChartPoint_get_Width(This,pval)	\
    ( (This)->lpVtbl -> get_Width(This,pval) ) 

#define ChartPoint_get_Left(This,pval)	\
    ( (This)->lpVtbl -> get_Left(This,pval) ) 

#define ChartPoint_get_Top(This,pval)	\
    ( (This)->lpVtbl -> get_Top(This,pval) ) 

#define ChartPoint_PieSliceLocation(This,loc,Index,pval)	\
    ( (This)->lpVtbl -> PieSliceLocation(This,loc,Index,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ChartPoint_INTERFACE_DEFINED__ */


#ifndef __Axes_INTERFACE_DEFINED__
#define __Axes_INTERFACE_DEFINED__

/* interface Axes */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_Axes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1712-0000-0000-C000-000000000046")
    Axes : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ XlAxisType Type,
            /* [defaultvalue][optional][in] */ XlAxisGroup AxisGroup,
            /* [retval][out] */ IMsoAxis **RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get__Default( 
            /* [in] */ XlAxisType Type,
            /* [defaultvalue][optional][in] */ XlAxisGroup AxisGroup,
            /* [retval][out] */ IMsoAxis **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct AxesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Axes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Axes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Axes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Axes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Axes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Axes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Axes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            Axes * This,
            /* [retval][out] */ long *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            Axes * This,
            /* [in] */ XlAxisType Type,
            /* [defaultvalue][optional][in] */ XlAxisGroup AxisGroup,
            /* [retval][out] */ IMsoAxis **RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            Axes * This,
            /* [retval][out] */ IUnknown **pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Axes * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Axes * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__Default )( 
            Axes * This,
            /* [in] */ XlAxisType Type,
            /* [defaultvalue][optional][in] */ XlAxisGroup AxisGroup,
            /* [retval][out] */ IMsoAxis **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Axes * This,
            /* [retval][out] */ IDispatch **RHS);
        
        END_INTERFACE
    } AxesVtbl;

    interface Axes
    {
        CONST_VTBL struct AxesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Axes_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define Axes_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define Axes_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define Axes_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define Axes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define Axes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define Axes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define Axes_get_Count(This,pval)	\
    ( (This)->lpVtbl -> get_Count(This,pval) ) 

#define Axes_get_Item(This,Type,AxisGroup,RHS)	\
    ( (This)->lpVtbl -> get_Item(This,Type,AxisGroup,RHS) ) 

#define Axes_get__NewEnum(This,pval)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pval) ) 

#define Axes_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define Axes_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define Axes_get__Default(This,Type,AxisGroup,RHS)	\
    ( (This)->lpVtbl -> get__Default(This,Type,AxisGroup,RHS) ) 

#define Axes_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Axes_INTERFACE_DEFINED__ */


#ifndef __IMsoAxis_INTERFACE_DEFINED__
#define __IMsoAxis_INTERFACE_DEFINED__

/* interface IMsoAxis */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoAxis;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1713-0000-0000-C000-000000000046")
    IMsoAxis : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AxisBetweenCategories( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AxisBetweenCategories( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AxisGroup( 
            /* [retval][out] */ XlAxisGroup *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AxisTitle( 
            /* [retval][out] */ IMsoAxisTitle **pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CategoryNames( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CategoryNames( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Crosses( 
            /* [retval][out] */ XlAxisCrosses *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Crosses( 
            /* [in] */ XlAxisCrosses pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CrossesAt( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CrossesAt( 
            /* [in] */ double pval) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasMajorGridlines( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasMajorGridlines( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasMinorGridlines( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasMinorGridlines( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasTitle( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasTitle( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MajorGridlines( 
            /* [retval][out] */ GridLines **ppval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MajorTickMark( 
            /* [retval][out] */ XlTickMark *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MajorTickMark( 
            /* [in] */ XlTickMark pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MajorUnit( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MajorUnit( 
            /* [in] */ double pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LogBase( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LogBase( 
            /* [in] */ double pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TickLabelSpacingIsAuto( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TickLabelSpacingIsAuto( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MajorUnitIsAuto( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MajorUnitIsAuto( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MaximumScale( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MaximumScale( 
            /* [in] */ double pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MaximumScaleIsAuto( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MaximumScaleIsAuto( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinimumScale( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MinimumScale( 
            /* [in] */ double pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinimumScaleIsAuto( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MinimumScaleIsAuto( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinorGridlines( 
            /* [retval][out] */ GridLines **ppval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinorTickMark( 
            /* [retval][out] */ XlTickMark *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MinorTickMark( 
            /* [in] */ XlTickMark pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinorUnit( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MinorUnit( 
            /* [in] */ double pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinorUnitIsAuto( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MinorUnitIsAuto( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ReversePlotOrder( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ReversePlotOrder( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ScaleType( 
            /* [retval][out] */ XlScaleType *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ScaleType( 
            /* [in] */ XlScaleType pval) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TickLabelPosition( 
            /* [retval][out] */ XlTickLabelPosition *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TickLabelPosition( 
            /* [in] */ XlTickLabelPosition pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TickLabels( 
            /* [retval][out] */ IMsoTickLabels **pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TickLabelSpacing( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TickLabelSpacing( 
            /* [in] */ int pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TickMarkSpacing( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_TickMarkSpacing( 
            /* [in] */ int pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ XlAxisType *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ XlAxisType pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BaseUnit( 
            /* [retval][out] */ XlTimeUnit *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BaseUnit( 
            /* [in] */ XlTimeUnit pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BaseUnitIsAuto( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BaseUnitIsAuto( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MajorUnitScale( 
            /* [retval][out] */ XlTimeUnit *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MajorUnitScale( 
            /* [in] */ XlTimeUnit pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MinorUnitScale( 
            /* [retval][out] */ XlTimeUnit *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MinorUnitScale( 
            /* [in] */ XlTimeUnit pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_CategoryType( 
            /* [retval][out] */ XlCategoryType *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_CategoryType( 
            /* [in] */ XlCategoryType pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayUnit( 
            /* [retval][out] */ XlDisplayUnit *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayUnit( 
            /* [in] */ XlDisplayUnit pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayUnitCustom( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayUnitCustom( 
            /* [in] */ double pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasDisplayUnitLabel( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasDisplayUnitLabel( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayUnitLabel( 
            /* [retval][out] */ IMsoDisplayUnitLabel **pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoAxisVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoAxis * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoAxis * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoAxis * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoAxis * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoAxis * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoAxis * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoAxis * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AxisBetweenCategories )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AxisBetweenCategories )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AxisGroup )( 
            IMsoAxis * This,
            /* [retval][out] */ XlAxisGroup *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AxisTitle )( 
            IMsoAxis * This,
            /* [retval][out] */ IMsoAxisTitle **pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CategoryNames )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CategoryNames )( 
            IMsoAxis * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Crosses )( 
            IMsoAxis * This,
            /* [retval][out] */ XlAxisCrosses *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Crosses )( 
            IMsoAxis * This,
            /* [in] */ XlAxisCrosses pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CrossesAt )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CrossesAt )( 
            IMsoAxis * This,
            /* [in] */ double pval);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasMajorGridlines )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasMajorGridlines )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasMinorGridlines )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasMinorGridlines )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasTitle )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasTitle )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MajorGridlines )( 
            IMsoAxis * This,
            /* [retval][out] */ GridLines **ppval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MajorTickMark )( 
            IMsoAxis * This,
            /* [retval][out] */ XlTickMark *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MajorTickMark )( 
            IMsoAxis * This,
            /* [in] */ XlTickMark pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MajorUnit )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MajorUnit )( 
            IMsoAxis * This,
            /* [in] */ double pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LogBase )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LogBase )( 
            IMsoAxis * This,
            /* [in] */ double pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TickLabelSpacingIsAuto )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TickLabelSpacingIsAuto )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MajorUnitIsAuto )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MajorUnitIsAuto )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximumScale )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximumScale )( 
            IMsoAxis * This,
            /* [in] */ double pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MaximumScaleIsAuto )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MaximumScaleIsAuto )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinimumScale )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinimumScale )( 
            IMsoAxis * This,
            /* [in] */ double pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinimumScaleIsAuto )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinimumScaleIsAuto )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinorGridlines )( 
            IMsoAxis * This,
            /* [retval][out] */ GridLines **ppval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinorTickMark )( 
            IMsoAxis * This,
            /* [retval][out] */ XlTickMark *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinorTickMark )( 
            IMsoAxis * This,
            /* [in] */ XlTickMark pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinorUnit )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinorUnit )( 
            IMsoAxis * This,
            /* [in] */ double pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinorUnitIsAuto )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinorUnitIsAuto )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReversePlotOrder )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ReversePlotOrder )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleType )( 
            IMsoAxis * This,
            /* [retval][out] */ XlScaleType *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleType )( 
            IMsoAxis * This,
            /* [in] */ XlScaleType pval);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TickLabelPosition )( 
            IMsoAxis * This,
            /* [retval][out] */ XlTickLabelPosition *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TickLabelPosition )( 
            IMsoAxis * This,
            /* [in] */ XlTickLabelPosition pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TickLabels )( 
            IMsoAxis * This,
            /* [retval][out] */ IMsoTickLabels **pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TickLabelSpacing )( 
            IMsoAxis * This,
            /* [retval][out] */ int *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TickLabelSpacing )( 
            IMsoAxis * This,
            /* [in] */ int pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TickMarkSpacing )( 
            IMsoAxis * This,
            /* [retval][out] */ int *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TickMarkSpacing )( 
            IMsoAxis * This,
            /* [in] */ int pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMsoAxis * This,
            /* [retval][out] */ XlAxisType *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IMsoAxis * This,
            /* [in] */ XlAxisType pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BaseUnit )( 
            IMsoAxis * This,
            /* [retval][out] */ XlTimeUnit *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BaseUnit )( 
            IMsoAxis * This,
            /* [in] */ XlTimeUnit pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BaseUnitIsAuto )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BaseUnitIsAuto )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MajorUnitScale )( 
            IMsoAxis * This,
            /* [retval][out] */ XlTimeUnit *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MajorUnitScale )( 
            IMsoAxis * This,
            /* [in] */ XlTimeUnit pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MinorUnitScale )( 
            IMsoAxis * This,
            /* [retval][out] */ XlTimeUnit *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MinorUnitScale )( 
            IMsoAxis * This,
            /* [in] */ XlTimeUnit pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CategoryType )( 
            IMsoAxis * This,
            /* [retval][out] */ XlCategoryType *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_CategoryType )( 
            IMsoAxis * This,
            /* [in] */ XlCategoryType pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayUnit )( 
            IMsoAxis * This,
            /* [retval][out] */ XlDisplayUnit *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayUnit )( 
            IMsoAxis * This,
            /* [in] */ XlDisplayUnit pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayUnitCustom )( 
            IMsoAxis * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayUnitCustom )( 
            IMsoAxis * This,
            /* [in] */ double pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasDisplayUnitLabel )( 
            IMsoAxis * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasDisplayUnitLabel )( 
            IMsoAxis * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayUnitLabel )( 
            IMsoAxis * This,
            /* [retval][out] */ IMsoDisplayUnitLabel **pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoAxis * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoAxis * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoAxis * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoAxis * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoAxis * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoAxis * This,
            /* [retval][out] */ IDispatch **RHS);
        
        END_INTERFACE
    } IMsoAxisVtbl;

    interface IMsoAxis
    {
        CONST_VTBL struct IMsoAxisVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoAxis_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoAxis_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoAxis_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoAxis_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoAxis_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoAxis_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoAxis_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoAxis_get_AxisBetweenCategories(This,pval)	\
    ( (This)->lpVtbl -> get_AxisBetweenCategories(This,pval) ) 

#define IMsoAxis_put_AxisBetweenCategories(This,pval)	\
    ( (This)->lpVtbl -> put_AxisBetweenCategories(This,pval) ) 

#define IMsoAxis_get_AxisGroup(This,pval)	\
    ( (This)->lpVtbl -> get_AxisGroup(This,pval) ) 

#define IMsoAxis_get_AxisTitle(This,pval)	\
    ( (This)->lpVtbl -> get_AxisTitle(This,pval) ) 

#define IMsoAxis_get_CategoryNames(This,pval)	\
    ( (This)->lpVtbl -> get_CategoryNames(This,pval) ) 

#define IMsoAxis_put_CategoryNames(This,pval)	\
    ( (This)->lpVtbl -> put_CategoryNames(This,pval) ) 

#define IMsoAxis_get_Crosses(This,pval)	\
    ( (This)->lpVtbl -> get_Crosses(This,pval) ) 

#define IMsoAxis_put_Crosses(This,pval)	\
    ( (This)->lpVtbl -> put_Crosses(This,pval) ) 

#define IMsoAxis_get_CrossesAt(This,pval)	\
    ( (This)->lpVtbl -> get_CrossesAt(This,pval) ) 

#define IMsoAxis_put_CrossesAt(This,pval)	\
    ( (This)->lpVtbl -> put_CrossesAt(This,pval) ) 

#define IMsoAxis_Delete(This,pval)	\
    ( (This)->lpVtbl -> Delete(This,pval) ) 

#define IMsoAxis_get_HasMajorGridlines(This,pval)	\
    ( (This)->lpVtbl -> get_HasMajorGridlines(This,pval) ) 

#define IMsoAxis_put_HasMajorGridlines(This,pval)	\
    ( (This)->lpVtbl -> put_HasMajorGridlines(This,pval) ) 

#define IMsoAxis_get_HasMinorGridlines(This,pval)	\
    ( (This)->lpVtbl -> get_HasMinorGridlines(This,pval) ) 

#define IMsoAxis_put_HasMinorGridlines(This,pval)	\
    ( (This)->lpVtbl -> put_HasMinorGridlines(This,pval) ) 

#define IMsoAxis_get_HasTitle(This,pval)	\
    ( (This)->lpVtbl -> get_HasTitle(This,pval) ) 

#define IMsoAxis_put_HasTitle(This,pval)	\
    ( (This)->lpVtbl -> put_HasTitle(This,pval) ) 

#define IMsoAxis_get_MajorGridlines(This,ppval)	\
    ( (This)->lpVtbl -> get_MajorGridlines(This,ppval) ) 

#define IMsoAxis_get_MajorTickMark(This,pval)	\
    ( (This)->lpVtbl -> get_MajorTickMark(This,pval) ) 

#define IMsoAxis_put_MajorTickMark(This,pval)	\
    ( (This)->lpVtbl -> put_MajorTickMark(This,pval) ) 

#define IMsoAxis_get_MajorUnit(This,pval)	\
    ( (This)->lpVtbl -> get_MajorUnit(This,pval) ) 

#define IMsoAxis_put_MajorUnit(This,pval)	\
    ( (This)->lpVtbl -> put_MajorUnit(This,pval) ) 

#define IMsoAxis_get_LogBase(This,pval)	\
    ( (This)->lpVtbl -> get_LogBase(This,pval) ) 

#define IMsoAxis_put_LogBase(This,pval)	\
    ( (This)->lpVtbl -> put_LogBase(This,pval) ) 

#define IMsoAxis_get_TickLabelSpacingIsAuto(This,pval)	\
    ( (This)->lpVtbl -> get_TickLabelSpacingIsAuto(This,pval) ) 

#define IMsoAxis_put_TickLabelSpacingIsAuto(This,pval)	\
    ( (This)->lpVtbl -> put_TickLabelSpacingIsAuto(This,pval) ) 

#define IMsoAxis_get_MajorUnitIsAuto(This,pval)	\
    ( (This)->lpVtbl -> get_MajorUnitIsAuto(This,pval) ) 

#define IMsoAxis_put_MajorUnitIsAuto(This,pval)	\
    ( (This)->lpVtbl -> put_MajorUnitIsAuto(This,pval) ) 

#define IMsoAxis_get_MaximumScale(This,pval)	\
    ( (This)->lpVtbl -> get_MaximumScale(This,pval) ) 

#define IMsoAxis_put_MaximumScale(This,pval)	\
    ( (This)->lpVtbl -> put_MaximumScale(This,pval) ) 

#define IMsoAxis_get_MaximumScaleIsAuto(This,pval)	\
    ( (This)->lpVtbl -> get_MaximumScaleIsAuto(This,pval) ) 

#define IMsoAxis_put_MaximumScaleIsAuto(This,pval)	\
    ( (This)->lpVtbl -> put_MaximumScaleIsAuto(This,pval) ) 

#define IMsoAxis_get_MinimumScale(This,pval)	\
    ( (This)->lpVtbl -> get_MinimumScale(This,pval) ) 

#define IMsoAxis_put_MinimumScale(This,pval)	\
    ( (This)->lpVtbl -> put_MinimumScale(This,pval) ) 

#define IMsoAxis_get_MinimumScaleIsAuto(This,pval)	\
    ( (This)->lpVtbl -> get_MinimumScaleIsAuto(This,pval) ) 

#define IMsoAxis_put_MinimumScaleIsAuto(This,pval)	\
    ( (This)->lpVtbl -> put_MinimumScaleIsAuto(This,pval) ) 

#define IMsoAxis_get_MinorGridlines(This,ppval)	\
    ( (This)->lpVtbl -> get_MinorGridlines(This,ppval) ) 

#define IMsoAxis_get_MinorTickMark(This,pval)	\
    ( (This)->lpVtbl -> get_MinorTickMark(This,pval) ) 

#define IMsoAxis_put_MinorTickMark(This,pval)	\
    ( (This)->lpVtbl -> put_MinorTickMark(This,pval) ) 

#define IMsoAxis_get_MinorUnit(This,pval)	\
    ( (This)->lpVtbl -> get_MinorUnit(This,pval) ) 

#define IMsoAxis_put_MinorUnit(This,pval)	\
    ( (This)->lpVtbl -> put_MinorUnit(This,pval) ) 

#define IMsoAxis_get_MinorUnitIsAuto(This,pval)	\
    ( (This)->lpVtbl -> get_MinorUnitIsAuto(This,pval) ) 

#define IMsoAxis_put_MinorUnitIsAuto(This,pval)	\
    ( (This)->lpVtbl -> put_MinorUnitIsAuto(This,pval) ) 

#define IMsoAxis_get_ReversePlotOrder(This,pval)	\
    ( (This)->lpVtbl -> get_ReversePlotOrder(This,pval) ) 

#define IMsoAxis_put_ReversePlotOrder(This,pval)	\
    ( (This)->lpVtbl -> put_ReversePlotOrder(This,pval) ) 

#define IMsoAxis_get_ScaleType(This,pval)	\
    ( (This)->lpVtbl -> get_ScaleType(This,pval) ) 

#define IMsoAxis_put_ScaleType(This,pval)	\
    ( (This)->lpVtbl -> put_ScaleType(This,pval) ) 

#define IMsoAxis_Select(This,pval)	\
    ( (This)->lpVtbl -> Select(This,pval) ) 

#define IMsoAxis_get_TickLabelPosition(This,pval)	\
    ( (This)->lpVtbl -> get_TickLabelPosition(This,pval) ) 

#define IMsoAxis_put_TickLabelPosition(This,pval)	\
    ( (This)->lpVtbl -> put_TickLabelPosition(This,pval) ) 

#define IMsoAxis_get_TickLabels(This,pval)	\
    ( (This)->lpVtbl -> get_TickLabels(This,pval) ) 

#define IMsoAxis_get_TickLabelSpacing(This,pval)	\
    ( (This)->lpVtbl -> get_TickLabelSpacing(This,pval) ) 

#define IMsoAxis_put_TickLabelSpacing(This,pval)	\
    ( (This)->lpVtbl -> put_TickLabelSpacing(This,pval) ) 

#define IMsoAxis_get_TickMarkSpacing(This,pval)	\
    ( (This)->lpVtbl -> get_TickMarkSpacing(This,pval) ) 

#define IMsoAxis_put_TickMarkSpacing(This,pval)	\
    ( (This)->lpVtbl -> put_TickMarkSpacing(This,pval) ) 

#define IMsoAxis_get_Type(This,pval)	\
    ( (This)->lpVtbl -> get_Type(This,pval) ) 

#define IMsoAxis_put_Type(This,pval)	\
    ( (This)->lpVtbl -> put_Type(This,pval) ) 

#define IMsoAxis_get_BaseUnit(This,pval)	\
    ( (This)->lpVtbl -> get_BaseUnit(This,pval) ) 

#define IMsoAxis_put_BaseUnit(This,pval)	\
    ( (This)->lpVtbl -> put_BaseUnit(This,pval) ) 

#define IMsoAxis_get_BaseUnitIsAuto(This,pval)	\
    ( (This)->lpVtbl -> get_BaseUnitIsAuto(This,pval) ) 

#define IMsoAxis_put_BaseUnitIsAuto(This,pval)	\
    ( (This)->lpVtbl -> put_BaseUnitIsAuto(This,pval) ) 

#define IMsoAxis_get_MajorUnitScale(This,pval)	\
    ( (This)->lpVtbl -> get_MajorUnitScale(This,pval) ) 

#define IMsoAxis_put_MajorUnitScale(This,pval)	\
    ( (This)->lpVtbl -> put_MajorUnitScale(This,pval) ) 

#define IMsoAxis_get_MinorUnitScale(This,pval)	\
    ( (This)->lpVtbl -> get_MinorUnitScale(This,pval) ) 

#define IMsoAxis_put_MinorUnitScale(This,pval)	\
    ( (This)->lpVtbl -> put_MinorUnitScale(This,pval) ) 

#define IMsoAxis_get_CategoryType(This,pval)	\
    ( (This)->lpVtbl -> get_CategoryType(This,pval) ) 

#define IMsoAxis_put_CategoryType(This,pval)	\
    ( (This)->lpVtbl -> put_CategoryType(This,pval) ) 

#define IMsoAxis_get_Left(This,pval)	\
    ( (This)->lpVtbl -> get_Left(This,pval) ) 

#define IMsoAxis_get_Top(This,pval)	\
    ( (This)->lpVtbl -> get_Top(This,pval) ) 

#define IMsoAxis_get_Width(This,pval)	\
    ( (This)->lpVtbl -> get_Width(This,pval) ) 

#define IMsoAxis_get_Height(This,pval)	\
    ( (This)->lpVtbl -> get_Height(This,pval) ) 

#define IMsoAxis_get_DisplayUnit(This,pval)	\
    ( (This)->lpVtbl -> get_DisplayUnit(This,pval) ) 

#define IMsoAxis_put_DisplayUnit(This,pval)	\
    ( (This)->lpVtbl -> put_DisplayUnit(This,pval) ) 

#define IMsoAxis_get_DisplayUnitCustom(This,pval)	\
    ( (This)->lpVtbl -> get_DisplayUnitCustom(This,pval) ) 

#define IMsoAxis_put_DisplayUnitCustom(This,pval)	\
    ( (This)->lpVtbl -> put_DisplayUnitCustom(This,pval) ) 

#define IMsoAxis_get_HasDisplayUnitLabel(This,pval)	\
    ( (This)->lpVtbl -> get_HasDisplayUnitLabel(This,pval) ) 

#define IMsoAxis_put_HasDisplayUnitLabel(This,pval)	\
    ( (This)->lpVtbl -> put_HasDisplayUnitLabel(This,pval) ) 

#define IMsoAxis_get_DisplayUnitLabel(This,pval)	\
    ( (This)->lpVtbl -> get_DisplayUnitLabel(This,pval) ) 

#define IMsoAxis_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoAxis_get_Name(This,pbstr)	\
    ( (This)->lpVtbl -> get_Name(This,pbstr) ) 

#define IMsoAxis_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoAxis_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoAxis_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoAxis_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoAxis_INTERFACE_DEFINED__ */


#ifndef __IMsoDataTable_INTERFACE_DEFINED__
#define __IMsoDataTable_INTERFACE_DEFINED__

/* interface IMsoDataTable */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoDataTable;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1711-0000-0000-C000-000000000046")
    IMsoDataTable : public IDispatch
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShowLegendKey( 
            /* [in] */ VARIANT_BOOL pfVisible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShowLegendKey( 
            /* [retval][out] */ VARIANT_BOOL *pfVisible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasBorderHorizontal( 
            /* [in] */ VARIANT_BOOL pfVisible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasBorderHorizontal( 
            /* [retval][out] */ VARIANT_BOOL *pfVisible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasBorderVertical( 
            /* [in] */ VARIANT_BOOL pfVisible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasBorderVertical( 
            /* [retval][out] */ VARIANT_BOOL *pfVisible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasBorderOutline( 
            /* [in] */ VARIANT_BOOL pfVisible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasBorderOutline( 
            /* [retval][out] */ VARIANT_BOOL *pfVisible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppline) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Font( 
            /* [retval][out] */ ChartFont **pfont) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoScaleFont( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoScaleFont( 
            /* [in] */ VARIANT RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoDataTableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoDataTable * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoDataTable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoDataTable * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoDataTable * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoDataTable * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoDataTable * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoDataTable * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShowLegendKey )( 
            IMsoDataTable * This,
            /* [in] */ VARIANT_BOOL pfVisible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShowLegendKey )( 
            IMsoDataTable * This,
            /* [retval][out] */ VARIANT_BOOL *pfVisible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasBorderHorizontal )( 
            IMsoDataTable * This,
            /* [in] */ VARIANT_BOOL pfVisible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasBorderHorizontal )( 
            IMsoDataTable * This,
            /* [retval][out] */ VARIANT_BOOL *pfVisible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasBorderVertical )( 
            IMsoDataTable * This,
            /* [in] */ VARIANT_BOOL pfVisible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasBorderVertical )( 
            IMsoDataTable * This,
            /* [retval][out] */ VARIANT_BOOL *pfVisible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasBorderOutline )( 
            IMsoDataTable * This,
            /* [in] */ VARIANT_BOOL pfVisible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasBorderOutline )( 
            IMsoDataTable * This,
            /* [retval][out] */ VARIANT_BOOL *pfVisible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoDataTable * This,
            /* [retval][out] */ IMsoBorder **ppline);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Font )( 
            IMsoDataTable * This,
            /* [retval][out] */ ChartFont **pfont);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoDataTable * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoDataTable * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoDataTable * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoScaleFont )( 
            IMsoDataTable * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoScaleFont )( 
            IMsoDataTable * This,
            /* [in] */ VARIANT RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoDataTable * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoDataTable * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoDataTable * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoDataTableVtbl;

    interface IMsoDataTable
    {
        CONST_VTBL struct IMsoDataTableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoDataTable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoDataTable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoDataTable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoDataTable_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoDataTable_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoDataTable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoDataTable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoDataTable_put_ShowLegendKey(This,pfVisible)	\
    ( (This)->lpVtbl -> put_ShowLegendKey(This,pfVisible) ) 

#define IMsoDataTable_get_ShowLegendKey(This,pfVisible)	\
    ( (This)->lpVtbl -> get_ShowLegendKey(This,pfVisible) ) 

#define IMsoDataTable_put_HasBorderHorizontal(This,pfVisible)	\
    ( (This)->lpVtbl -> put_HasBorderHorizontal(This,pfVisible) ) 

#define IMsoDataTable_get_HasBorderHorizontal(This,pfVisible)	\
    ( (This)->lpVtbl -> get_HasBorderHorizontal(This,pfVisible) ) 

#define IMsoDataTable_put_HasBorderVertical(This,pfVisible)	\
    ( (This)->lpVtbl -> put_HasBorderVertical(This,pfVisible) ) 

#define IMsoDataTable_get_HasBorderVertical(This,pfVisible)	\
    ( (This)->lpVtbl -> get_HasBorderVertical(This,pfVisible) ) 

#define IMsoDataTable_put_HasBorderOutline(This,pfVisible)	\
    ( (This)->lpVtbl -> put_HasBorderOutline(This,pfVisible) ) 

#define IMsoDataTable_get_HasBorderOutline(This,pfVisible)	\
    ( (This)->lpVtbl -> get_HasBorderOutline(This,pfVisible) ) 

#define IMsoDataTable_get_Border(This,ppline)	\
    ( (This)->lpVtbl -> get_Border(This,ppline) ) 

#define IMsoDataTable_get_Font(This,pfont)	\
    ( (This)->lpVtbl -> get_Font(This,pfont) ) 

#define IMsoDataTable_Select(This)	\
    ( (This)->lpVtbl -> Select(This) ) 

#define IMsoDataTable_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IMsoDataTable_get_Parent(This,ppval)	\
    ( (This)->lpVtbl -> get_Parent(This,ppval) ) 

#define IMsoDataTable_get_AutoScaleFont(This,RHS)	\
    ( (This)->lpVtbl -> get_AutoScaleFont(This,RHS) ) 

#define IMsoDataTable_put_AutoScaleFont(This,RHS)	\
    ( (This)->lpVtbl -> put_AutoScaleFont(This,RHS) ) 

#define IMsoDataTable_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoDataTable_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoDataTable_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoDataTable_INTERFACE_DEFINED__ */


#ifndef __IMsoChartTitle_INTERFACE_DEFINED__
#define __IMsoChartTitle_INTERFACE_DEFINED__

/* interface IMsoChartTitle */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoChartTitle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C170F-0000-0000-C000-000000000046")
    IMsoChartTitle : public IDispatch
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Caption( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Caption( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Characters( 
            /* [optional][in] */ VARIANT Start,
            /* [optional][in] */ VARIANT Length,
            /* [retval][out] */ IMsoCharacters **RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Font( 
            /* [retval][out] */ ChartFont **ppfont) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HorizontalAlignment( 
            /* [in] */ VARIANT Val) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HorizontalAlignment( 
            /* [retval][out] */ VARIANT *Val) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ double pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Orientation( 
            /* [in] */ VARIANT Val) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Orientation( 
            /* [retval][out] */ VARIANT *Val) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Shadow( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Shadow( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ double pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_VerticalAlignment( 
            /* [in] */ VARIANT Val) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_VerticalAlignment( 
            /* [retval][out] */ VARIANT *Val) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ReadingOrder( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ReadingOrder( 
            /* [in] */ int pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoScaleFont( 
            /* [in] */ VARIANT Val) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoScaleFont( 
            /* [retval][out] */ VARIANT *Val) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Interior( 
            /* [retval][out] */ IMsoInterior **ppinterior) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ ChartFillFormat **ppinterior) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **ppborder) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IncludeInLayout( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_IncludeInLayout( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ XlChartElementPosition *pval) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ XlChartElementPosition pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Formula( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Formula( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FormulaR1C1( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FormulaR1C1( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FormulaLocal( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FormulaLocal( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FormulaR1C1Local( 
            /* [in] */ BSTR pbstr) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FormulaR1C1Local( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoChartTitleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoChartTitle * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoChartTitle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoChartTitle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoChartTitle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoChartTitle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoChartTitle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoChartTitle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
            IMsoChartTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            IMsoChartTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Characters )( 
            IMsoChartTitle * This,
            /* [optional][in] */ VARIANT Start,
            /* [optional][in] */ VARIANT Length,
            /* [retval][out] */ IMsoCharacters **RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Font )( 
            IMsoChartTitle * This,
            /* [retval][out] */ ChartFont **ppfont);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalAlignment )( 
            IMsoChartTitle * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalAlignment )( 
            IMsoChartTitle * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IMsoChartTitle * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            IMsoChartTitle * This,
            /* [in] */ double pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Orientation )( 
            IMsoChartTitle * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Orientation )( 
            IMsoChartTitle * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shadow )( 
            IMsoChartTitle * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Shadow )( 
            IMsoChartTitle * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            IMsoChartTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            IMsoChartTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IMsoChartTitle * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            IMsoChartTitle * This,
            /* [in] */ double pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalAlignment )( 
            IMsoChartTitle * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalAlignment )( 
            IMsoChartTitle * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadingOrder )( 
            IMsoChartTitle * This,
            /* [retval][out] */ int *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ReadingOrder )( 
            IMsoChartTitle * This,
            /* [in] */ int pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoScaleFont )( 
            IMsoChartTitle * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoScaleFont )( 
            IMsoChartTitle * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interior )( 
            IMsoChartTitle * This,
            /* [retval][out] */ IMsoInterior **ppinterior);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoChartTitle * This,
            /* [retval][out] */ ChartFillFormat **ppinterior);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoChartTitle * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoChartTitle * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoChartTitle * This,
            /* [retval][out] */ BSTR *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoChartTitle * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoChartTitle * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeInLayout )( 
            IMsoChartTitle * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeInLayout )( 
            IMsoChartTitle * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IMsoChartTitle * This,
            /* [retval][out] */ XlChartElementPosition *pval);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IMsoChartTitle * This,
            /* [in] */ XlChartElementPosition pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoChartTitle * This,
            /* [retval][out] */ IMsoChartFormat **ppval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IMsoChartTitle * This,
            /* [retval][out] */ double *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoChartTitle * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoChartTitle * This,
            /* [retval][out] */ long *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IMsoChartTitle * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Formula )( 
            IMsoChartTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Formula )( 
            IMsoChartTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FormulaR1C1 )( 
            IMsoChartTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FormulaR1C1 )( 
            IMsoChartTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FormulaLocal )( 
            IMsoChartTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FormulaLocal )( 
            IMsoChartTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FormulaR1C1Local )( 
            IMsoChartTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FormulaR1C1Local )( 
            IMsoChartTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        END_INTERFACE
    } IMsoChartTitleVtbl;

    interface IMsoChartTitle
    {
        CONST_VTBL struct IMsoChartTitleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoChartTitle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoChartTitle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoChartTitle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoChartTitle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoChartTitle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoChartTitle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoChartTitle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoChartTitle_put_Caption(This,pbstr)	\
    ( (This)->lpVtbl -> put_Caption(This,pbstr) ) 

#define IMsoChartTitle_get_Caption(This,pbstr)	\
    ( (This)->lpVtbl -> get_Caption(This,pbstr) ) 

#define IMsoChartTitle_get_Characters(This,Start,Length,RHS)	\
    ( (This)->lpVtbl -> get_Characters(This,Start,Length,RHS) ) 

#define IMsoChartTitle_get_Font(This,ppfont)	\
    ( (This)->lpVtbl -> get_Font(This,ppfont) ) 

#define IMsoChartTitle_put_HorizontalAlignment(This,Val)	\
    ( (This)->lpVtbl -> put_HorizontalAlignment(This,Val) ) 

#define IMsoChartTitle_get_HorizontalAlignment(This,Val)	\
    ( (This)->lpVtbl -> get_HorizontalAlignment(This,Val) ) 

#define IMsoChartTitle_get_Left(This,pval)	\
    ( (This)->lpVtbl -> get_Left(This,pval) ) 

#define IMsoChartTitle_put_Left(This,pval)	\
    ( (This)->lpVtbl -> put_Left(This,pval) ) 

#define IMsoChartTitle_put_Orientation(This,Val)	\
    ( (This)->lpVtbl -> put_Orientation(This,Val) ) 

#define IMsoChartTitle_get_Orientation(This,Val)	\
    ( (This)->lpVtbl -> get_Orientation(This,Val) ) 

#define IMsoChartTitle_get_Shadow(This,pval)	\
    ( (This)->lpVtbl -> get_Shadow(This,pval) ) 

#define IMsoChartTitle_put_Shadow(This,pval)	\
    ( (This)->lpVtbl -> put_Shadow(This,pval) ) 

#define IMsoChartTitle_put_Text(This,pbstr)	\
    ( (This)->lpVtbl -> put_Text(This,pbstr) ) 

#define IMsoChartTitle_get_Text(This,pbstr)	\
    ( (This)->lpVtbl -> get_Text(This,pbstr) ) 

#define IMsoChartTitle_get_Top(This,pval)	\
    ( (This)->lpVtbl -> get_Top(This,pval) ) 

#define IMsoChartTitle_put_Top(This,pval)	\
    ( (This)->lpVtbl -> put_Top(This,pval) ) 

#define IMsoChartTitle_put_VerticalAlignment(This,Val)	\
    ( (This)->lpVtbl -> put_VerticalAlignment(This,Val) ) 

#define IMsoChartTitle_get_VerticalAlignment(This,Val)	\
    ( (This)->lpVtbl -> get_VerticalAlignment(This,Val) ) 

#define IMsoChartTitle_get_ReadingOrder(This,pval)	\
    ( (This)->lpVtbl -> get_ReadingOrder(This,pval) ) 

#define IMsoChartTitle_put_ReadingOrder(This,pval)	\
    ( (This)->lpVtbl -> put_ReadingOrder(This,pval) ) 

#define IMsoChartTitle_put_AutoScaleFont(This,Val)	\
    ( (This)->lpVtbl -> put_AutoScaleFont(This,Val) ) 

#define IMsoChartTitle_get_AutoScaleFont(This,Val)	\
    ( (This)->lpVtbl -> get_AutoScaleFont(This,Val) ) 

#define IMsoChartTitle_get_Interior(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Interior(This,ppinterior) ) 

#define IMsoChartTitle_get_Fill(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Fill(This,ppinterior) ) 

#define IMsoChartTitle_Delete(This,pval)	\
    ( (This)->lpVtbl -> Delete(This,pval) ) 

#define IMsoChartTitle_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoChartTitle_get_Name(This,pval)	\
    ( (This)->lpVtbl -> get_Name(This,pval) ) 

#define IMsoChartTitle_get_Parent(This,ppval)	\
    ( (This)->lpVtbl -> get_Parent(This,ppval) ) 

#define IMsoChartTitle_Select(This,pval)	\
    ( (This)->lpVtbl -> Select(This,pval) ) 

#define IMsoChartTitle_get_IncludeInLayout(This,RHS)	\
    ( (This)->lpVtbl -> get_IncludeInLayout(This,RHS) ) 

#define IMsoChartTitle_put_IncludeInLayout(This,RHS)	\
    ( (This)->lpVtbl -> put_IncludeInLayout(This,RHS) ) 

#define IMsoChartTitle_get_Position(This,pval)	\
    ( (This)->lpVtbl -> get_Position(This,pval) ) 

#define IMsoChartTitle_put_Position(This,pval)	\
    ( (This)->lpVtbl -> put_Position(This,pval) ) 

#define IMsoChartTitle_get_Format(This,ppval)	\
    ( (This)->lpVtbl -> get_Format(This,ppval) ) 

#define IMsoChartTitle_get_Height(This,pval)	\
    ( (This)->lpVtbl -> get_Height(This,pval) ) 

#define IMsoChartTitle_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoChartTitle_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoChartTitle_get_Width(This,pval)	\
    ( (This)->lpVtbl -> get_Width(This,pval) ) 

#define IMsoChartTitle_put_Formula(This,pbstr)	\
    ( (This)->lpVtbl -> put_Formula(This,pbstr) ) 

#define IMsoChartTitle_get_Formula(This,pbstr)	\
    ( (This)->lpVtbl -> get_Formula(This,pbstr) ) 

#define IMsoChartTitle_put_FormulaR1C1(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaR1C1(This,pbstr) ) 

#define IMsoChartTitle_get_FormulaR1C1(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaR1C1(This,pbstr) ) 

#define IMsoChartTitle_put_FormulaLocal(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaLocal(This,pbstr) ) 

#define IMsoChartTitle_get_FormulaLocal(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaLocal(This,pbstr) ) 

#define IMsoChartTitle_put_FormulaR1C1Local(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaR1C1Local(This,pbstr) ) 

#define IMsoChartTitle_get_FormulaR1C1Local(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaR1C1Local(This,pbstr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoChartTitle_INTERFACE_DEFINED__ */


#ifndef __IMsoAxisTitle_INTERFACE_DEFINED__
#define __IMsoAxisTitle_INTERFACE_DEFINED__

/* interface IMsoAxisTitle */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoAxisTitle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7FFFFFFF-F703-4D53-946E-37FF82B2C994")
    IMsoAxisTitle : public IMsoChartTitle
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IMsoAxisTitleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoAxisTitle * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoAxisTitle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoAxisTitle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoAxisTitle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoAxisTitle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoAxisTitle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoAxisTitle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
            IMsoAxisTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Characters )( 
            IMsoAxisTitle * This,
            /* [optional][in] */ VARIANT Start,
            /* [optional][in] */ VARIANT Length,
            /* [retval][out] */ IMsoCharacters **RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Font )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ ChartFont **ppfont);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalAlignment )( 
            IMsoAxisTitle * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalAlignment )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            IMsoAxisTitle * This,
            /* [in] */ double pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Orientation )( 
            IMsoAxisTitle * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Orientation )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shadow )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Shadow )( 
            IMsoAxisTitle * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            IMsoAxisTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            IMsoAxisTitle * This,
            /* [in] */ double pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalAlignment )( 
            IMsoAxisTitle * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalAlignment )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadingOrder )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ int *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ReadingOrder )( 
            IMsoAxisTitle * This,
            /* [in] */ int pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoScaleFont )( 
            IMsoAxisTitle * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoScaleFont )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interior )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ IMsoInterior **ppinterior);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ ChartFillFormat **ppinterior);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ BSTR *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeInLayout )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeInLayout )( 
            IMsoAxisTitle * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ XlChartElementPosition *pval);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IMsoAxisTitle * This,
            /* [in] */ XlChartElementPosition pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ IMsoChartFormat **ppval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ double *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ long *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Formula )( 
            IMsoAxisTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Formula )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FormulaR1C1 )( 
            IMsoAxisTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FormulaR1C1 )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FormulaLocal )( 
            IMsoAxisTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FormulaLocal )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FormulaR1C1Local )( 
            IMsoAxisTitle * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FormulaR1C1Local )( 
            IMsoAxisTitle * This,
            /* [retval][out] */ BSTR *pbstr);
        
        END_INTERFACE
    } IMsoAxisTitleVtbl;

    interface IMsoAxisTitle
    {
        CONST_VTBL struct IMsoAxisTitleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoAxisTitle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoAxisTitle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoAxisTitle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoAxisTitle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoAxisTitle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoAxisTitle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoAxisTitle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoAxisTitle_put_Caption(This,pbstr)	\
    ( (This)->lpVtbl -> put_Caption(This,pbstr) ) 

#define IMsoAxisTitle_get_Caption(This,pbstr)	\
    ( (This)->lpVtbl -> get_Caption(This,pbstr) ) 

#define IMsoAxisTitle_get_Characters(This,Start,Length,RHS)	\
    ( (This)->lpVtbl -> get_Characters(This,Start,Length,RHS) ) 

#define IMsoAxisTitle_get_Font(This,ppfont)	\
    ( (This)->lpVtbl -> get_Font(This,ppfont) ) 

#define IMsoAxisTitle_put_HorizontalAlignment(This,Val)	\
    ( (This)->lpVtbl -> put_HorizontalAlignment(This,Val) ) 

#define IMsoAxisTitle_get_HorizontalAlignment(This,Val)	\
    ( (This)->lpVtbl -> get_HorizontalAlignment(This,Val) ) 

#define IMsoAxisTitle_get_Left(This,pval)	\
    ( (This)->lpVtbl -> get_Left(This,pval) ) 

#define IMsoAxisTitle_put_Left(This,pval)	\
    ( (This)->lpVtbl -> put_Left(This,pval) ) 

#define IMsoAxisTitle_put_Orientation(This,Val)	\
    ( (This)->lpVtbl -> put_Orientation(This,Val) ) 

#define IMsoAxisTitle_get_Orientation(This,Val)	\
    ( (This)->lpVtbl -> get_Orientation(This,Val) ) 

#define IMsoAxisTitle_get_Shadow(This,pval)	\
    ( (This)->lpVtbl -> get_Shadow(This,pval) ) 

#define IMsoAxisTitle_put_Shadow(This,pval)	\
    ( (This)->lpVtbl -> put_Shadow(This,pval) ) 

#define IMsoAxisTitle_put_Text(This,pbstr)	\
    ( (This)->lpVtbl -> put_Text(This,pbstr) ) 

#define IMsoAxisTitle_get_Text(This,pbstr)	\
    ( (This)->lpVtbl -> get_Text(This,pbstr) ) 

#define IMsoAxisTitle_get_Top(This,pval)	\
    ( (This)->lpVtbl -> get_Top(This,pval) ) 

#define IMsoAxisTitle_put_Top(This,pval)	\
    ( (This)->lpVtbl -> put_Top(This,pval) ) 

#define IMsoAxisTitle_put_VerticalAlignment(This,Val)	\
    ( (This)->lpVtbl -> put_VerticalAlignment(This,Val) ) 

#define IMsoAxisTitle_get_VerticalAlignment(This,Val)	\
    ( (This)->lpVtbl -> get_VerticalAlignment(This,Val) ) 

#define IMsoAxisTitle_get_ReadingOrder(This,pval)	\
    ( (This)->lpVtbl -> get_ReadingOrder(This,pval) ) 

#define IMsoAxisTitle_put_ReadingOrder(This,pval)	\
    ( (This)->lpVtbl -> put_ReadingOrder(This,pval) ) 

#define IMsoAxisTitle_put_AutoScaleFont(This,Val)	\
    ( (This)->lpVtbl -> put_AutoScaleFont(This,Val) ) 

#define IMsoAxisTitle_get_AutoScaleFont(This,Val)	\
    ( (This)->lpVtbl -> get_AutoScaleFont(This,Val) ) 

#define IMsoAxisTitle_get_Interior(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Interior(This,ppinterior) ) 

#define IMsoAxisTitle_get_Fill(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Fill(This,ppinterior) ) 

#define IMsoAxisTitle_Delete(This,pval)	\
    ( (This)->lpVtbl -> Delete(This,pval) ) 

#define IMsoAxisTitle_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoAxisTitle_get_Name(This,pval)	\
    ( (This)->lpVtbl -> get_Name(This,pval) ) 

#define IMsoAxisTitle_get_Parent(This,ppval)	\
    ( (This)->lpVtbl -> get_Parent(This,ppval) ) 

#define IMsoAxisTitle_Select(This,pval)	\
    ( (This)->lpVtbl -> Select(This,pval) ) 

#define IMsoAxisTitle_get_IncludeInLayout(This,RHS)	\
    ( (This)->lpVtbl -> get_IncludeInLayout(This,RHS) ) 

#define IMsoAxisTitle_put_IncludeInLayout(This,RHS)	\
    ( (This)->lpVtbl -> put_IncludeInLayout(This,RHS) ) 

#define IMsoAxisTitle_get_Position(This,pval)	\
    ( (This)->lpVtbl -> get_Position(This,pval) ) 

#define IMsoAxisTitle_put_Position(This,pval)	\
    ( (This)->lpVtbl -> put_Position(This,pval) ) 

#define IMsoAxisTitle_get_Format(This,ppval)	\
    ( (This)->lpVtbl -> get_Format(This,ppval) ) 

#define IMsoAxisTitle_get_Height(This,pval)	\
    ( (This)->lpVtbl -> get_Height(This,pval) ) 

#define IMsoAxisTitle_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoAxisTitle_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoAxisTitle_get_Width(This,pval)	\
    ( (This)->lpVtbl -> get_Width(This,pval) ) 

#define IMsoAxisTitle_put_Formula(This,pbstr)	\
    ( (This)->lpVtbl -> put_Formula(This,pbstr) ) 

#define IMsoAxisTitle_get_Formula(This,pbstr)	\
    ( (This)->lpVtbl -> get_Formula(This,pbstr) ) 

#define IMsoAxisTitle_put_FormulaR1C1(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaR1C1(This,pbstr) ) 

#define IMsoAxisTitle_get_FormulaR1C1(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaR1C1(This,pbstr) ) 

#define IMsoAxisTitle_put_FormulaLocal(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaLocal(This,pbstr) ) 

#define IMsoAxisTitle_get_FormulaLocal(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaLocal(This,pbstr) ) 

#define IMsoAxisTitle_put_FormulaR1C1Local(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaR1C1Local(This,pbstr) ) 

#define IMsoAxisTitle_get_FormulaR1C1Local(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaR1C1Local(This,pbstr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoAxisTitle_INTERFACE_DEFINED__ */


#ifndef __IMsoDisplayUnitLabel_INTERFACE_DEFINED__
#define __IMsoDisplayUnitLabel_INTERFACE_DEFINED__

/* interface IMsoDisplayUnitLabel */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoDisplayUnitLabel;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6EA00553-9439-4D5A-B1E6-DC15A54DA8B2")
    IMsoDisplayUnitLabel : public IMsoChartTitle
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IMsoDisplayUnitLabelVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoDisplayUnitLabel * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoDisplayUnitLabel * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoDisplayUnitLabel * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Characters )( 
            IMsoDisplayUnitLabel * This,
            /* [optional][in] */ VARIANT Start,
            /* [optional][in] */ VARIANT Length,
            /* [retval][out] */ IMsoCharacters **RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Font )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ ChartFont **ppfont);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalAlignment )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalAlignment )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ double pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Orientation )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Orientation )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shadow )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Shadow )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ double pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalAlignment )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalAlignment )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadingOrder )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ int *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ReadingOrder )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ int pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoScaleFont )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ VARIANT Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoScaleFont )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ VARIANT *Val);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interior )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ IMsoInterior **ppinterior);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ ChartFillFormat **ppinterior);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ IMsoBorder **ppborder);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ BSTR *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IncludeInLayout )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IncludeInLayout )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ XlChartElementPosition *pval);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ XlChartElementPosition pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ IMsoChartFormat **ppval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ double *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ long *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ double *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Formula )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Formula )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FormulaR1C1 )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FormulaR1C1 )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FormulaLocal )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FormulaLocal )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FormulaR1C1Local )( 
            IMsoDisplayUnitLabel * This,
            /* [in] */ BSTR pbstr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FormulaR1C1Local )( 
            IMsoDisplayUnitLabel * This,
            /* [retval][out] */ BSTR *pbstr);
        
        END_INTERFACE
    } IMsoDisplayUnitLabelVtbl;

    interface IMsoDisplayUnitLabel
    {
        CONST_VTBL struct IMsoDisplayUnitLabelVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoDisplayUnitLabel_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoDisplayUnitLabel_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoDisplayUnitLabel_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoDisplayUnitLabel_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoDisplayUnitLabel_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoDisplayUnitLabel_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoDisplayUnitLabel_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoDisplayUnitLabel_put_Caption(This,pbstr)	\
    ( (This)->lpVtbl -> put_Caption(This,pbstr) ) 

#define IMsoDisplayUnitLabel_get_Caption(This,pbstr)	\
    ( (This)->lpVtbl -> get_Caption(This,pbstr) ) 

#define IMsoDisplayUnitLabel_get_Characters(This,Start,Length,RHS)	\
    ( (This)->lpVtbl -> get_Characters(This,Start,Length,RHS) ) 

#define IMsoDisplayUnitLabel_get_Font(This,ppfont)	\
    ( (This)->lpVtbl -> get_Font(This,ppfont) ) 

#define IMsoDisplayUnitLabel_put_HorizontalAlignment(This,Val)	\
    ( (This)->lpVtbl -> put_HorizontalAlignment(This,Val) ) 

#define IMsoDisplayUnitLabel_get_HorizontalAlignment(This,Val)	\
    ( (This)->lpVtbl -> get_HorizontalAlignment(This,Val) ) 

#define IMsoDisplayUnitLabel_get_Left(This,pval)	\
    ( (This)->lpVtbl -> get_Left(This,pval) ) 

#define IMsoDisplayUnitLabel_put_Left(This,pval)	\
    ( (This)->lpVtbl -> put_Left(This,pval) ) 

#define IMsoDisplayUnitLabel_put_Orientation(This,Val)	\
    ( (This)->lpVtbl -> put_Orientation(This,Val) ) 

#define IMsoDisplayUnitLabel_get_Orientation(This,Val)	\
    ( (This)->lpVtbl -> get_Orientation(This,Val) ) 

#define IMsoDisplayUnitLabel_get_Shadow(This,pval)	\
    ( (This)->lpVtbl -> get_Shadow(This,pval) ) 

#define IMsoDisplayUnitLabel_put_Shadow(This,pval)	\
    ( (This)->lpVtbl -> put_Shadow(This,pval) ) 

#define IMsoDisplayUnitLabel_put_Text(This,pbstr)	\
    ( (This)->lpVtbl -> put_Text(This,pbstr) ) 

#define IMsoDisplayUnitLabel_get_Text(This,pbstr)	\
    ( (This)->lpVtbl -> get_Text(This,pbstr) ) 

#define IMsoDisplayUnitLabel_get_Top(This,pval)	\
    ( (This)->lpVtbl -> get_Top(This,pval) ) 

#define IMsoDisplayUnitLabel_put_Top(This,pval)	\
    ( (This)->lpVtbl -> put_Top(This,pval) ) 

#define IMsoDisplayUnitLabel_put_VerticalAlignment(This,Val)	\
    ( (This)->lpVtbl -> put_VerticalAlignment(This,Val) ) 

#define IMsoDisplayUnitLabel_get_VerticalAlignment(This,Val)	\
    ( (This)->lpVtbl -> get_VerticalAlignment(This,Val) ) 

#define IMsoDisplayUnitLabel_get_ReadingOrder(This,pval)	\
    ( (This)->lpVtbl -> get_ReadingOrder(This,pval) ) 

#define IMsoDisplayUnitLabel_put_ReadingOrder(This,pval)	\
    ( (This)->lpVtbl -> put_ReadingOrder(This,pval) ) 

#define IMsoDisplayUnitLabel_put_AutoScaleFont(This,Val)	\
    ( (This)->lpVtbl -> put_AutoScaleFont(This,Val) ) 

#define IMsoDisplayUnitLabel_get_AutoScaleFont(This,Val)	\
    ( (This)->lpVtbl -> get_AutoScaleFont(This,Val) ) 

#define IMsoDisplayUnitLabel_get_Interior(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Interior(This,ppinterior) ) 

#define IMsoDisplayUnitLabel_get_Fill(This,ppinterior)	\
    ( (This)->lpVtbl -> get_Fill(This,ppinterior) ) 

#define IMsoDisplayUnitLabel_Delete(This,pval)	\
    ( (This)->lpVtbl -> Delete(This,pval) ) 

#define IMsoDisplayUnitLabel_get_Border(This,ppborder)	\
    ( (This)->lpVtbl -> get_Border(This,ppborder) ) 

#define IMsoDisplayUnitLabel_get_Name(This,pval)	\
    ( (This)->lpVtbl -> get_Name(This,pval) ) 

#define IMsoDisplayUnitLabel_get_Parent(This,ppval)	\
    ( (This)->lpVtbl -> get_Parent(This,ppval) ) 

#define IMsoDisplayUnitLabel_Select(This,pval)	\
    ( (This)->lpVtbl -> Select(This,pval) ) 

#define IMsoDisplayUnitLabel_get_IncludeInLayout(This,RHS)	\
    ( (This)->lpVtbl -> get_IncludeInLayout(This,RHS) ) 

#define IMsoDisplayUnitLabel_put_IncludeInLayout(This,RHS)	\
    ( (This)->lpVtbl -> put_IncludeInLayout(This,RHS) ) 

#define IMsoDisplayUnitLabel_get_Position(This,pval)	\
    ( (This)->lpVtbl -> get_Position(This,pval) ) 

#define IMsoDisplayUnitLabel_put_Position(This,pval)	\
    ( (This)->lpVtbl -> put_Position(This,pval) ) 

#define IMsoDisplayUnitLabel_get_Format(This,ppval)	\
    ( (This)->lpVtbl -> get_Format(This,ppval) ) 

#define IMsoDisplayUnitLabel_get_Height(This,pval)	\
    ( (This)->lpVtbl -> get_Height(This,pval) ) 

#define IMsoDisplayUnitLabel_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoDisplayUnitLabel_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoDisplayUnitLabel_get_Width(This,pval)	\
    ( (This)->lpVtbl -> get_Width(This,pval) ) 

#define IMsoDisplayUnitLabel_put_Formula(This,pbstr)	\
    ( (This)->lpVtbl -> put_Formula(This,pbstr) ) 

#define IMsoDisplayUnitLabel_get_Formula(This,pbstr)	\
    ( (This)->lpVtbl -> get_Formula(This,pbstr) ) 

#define IMsoDisplayUnitLabel_put_FormulaR1C1(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaR1C1(This,pbstr) ) 

#define IMsoDisplayUnitLabel_get_FormulaR1C1(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaR1C1(This,pbstr) ) 

#define IMsoDisplayUnitLabel_put_FormulaLocal(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaLocal(This,pbstr) ) 

#define IMsoDisplayUnitLabel_get_FormulaLocal(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaLocal(This,pbstr) ) 

#define IMsoDisplayUnitLabel_put_FormulaR1C1Local(This,pbstr)	\
    ( (This)->lpVtbl -> put_FormulaR1C1Local(This,pbstr) ) 

#define IMsoDisplayUnitLabel_get_FormulaR1C1Local(This,pbstr)	\
    ( (This)->lpVtbl -> get_FormulaR1C1Local(This,pbstr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoDisplayUnitLabel_INTERFACE_DEFINED__ */


#ifndef __IMsoTickLabels_INTERFACE_DEFINED__
#define __IMsoTickLabels_INTERFACE_DEFINED__

/* interface IMsoTickLabels */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoTickLabels;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1726-0000-0000-C000-000000000046")
    IMsoTickLabels : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Font( 
            /* [retval][out] */ ChartFont **ppval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NumberFormat( 
            /* [retval][out] */ BSTR *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NumberFormat( 
            /* [in] */ BSTR pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NumberFormatLinked( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NumberFormatLinked( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_NumberFormatLocal( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_NumberFormatLocal( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Orientation( 
            /* [retval][out] */ XlTickLabelOrientation *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Orientation( 
            /* [in] */ XlTickLabelOrientation pval) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ReadingOrder( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ReadingOrder( 
            /* [in] */ int pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoScaleFont( 
            /* [retval][out] */ VARIANT *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoScaleFont( 
            /* [in] */ VARIANT pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Depth( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Offset( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Offset( 
            /* [in] */ int pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Alignment( 
            /* [retval][out] */ int *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Alignment( 
            /* [in] */ int pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_MultiLevel( 
            /* [retval][out] */ VARIANT_BOOL *pval) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_MultiLevel( 
            /* [in] */ VARIANT_BOOL pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoTickLabelsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoTickLabels * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoTickLabels * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoTickLabels * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoTickLabels * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoTickLabels * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoTickLabels * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoTickLabels * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoTickLabels * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoTickLabels * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Font )( 
            IMsoTickLabels * This,
            /* [retval][out] */ ChartFont **ppval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoTickLabels * This,
            /* [retval][out] */ BSTR *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumberFormat )( 
            IMsoTickLabels * This,
            /* [retval][out] */ BSTR *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumberFormat )( 
            IMsoTickLabels * This,
            /* [in] */ BSTR pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumberFormatLinked )( 
            IMsoTickLabels * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumberFormatLinked )( 
            IMsoTickLabels * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NumberFormatLocal )( 
            IMsoTickLabels * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NumberFormatLocal )( 
            IMsoTickLabels * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Orientation )( 
            IMsoTickLabels * This,
            /* [retval][out] */ XlTickLabelOrientation *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Orientation )( 
            IMsoTickLabels * This,
            /* [in] */ XlTickLabelOrientation pval);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoTickLabels * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadingOrder )( 
            IMsoTickLabels * This,
            /* [retval][out] */ int *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ReadingOrder )( 
            IMsoTickLabels * This,
            /* [in] */ int pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoScaleFont )( 
            IMsoTickLabels * This,
            /* [retval][out] */ VARIANT *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoScaleFont )( 
            IMsoTickLabels * This,
            /* [in] */ VARIANT pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Depth )( 
            IMsoTickLabels * This,
            /* [retval][out] */ int *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Offset )( 
            IMsoTickLabels * This,
            /* [retval][out] */ int *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Offset )( 
            IMsoTickLabels * This,
            /* [in] */ int pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Alignment )( 
            IMsoTickLabels * This,
            /* [retval][out] */ int *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Alignment )( 
            IMsoTickLabels * This,
            /* [in] */ int pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MultiLevel )( 
            IMsoTickLabels * This,
            /* [retval][out] */ VARIANT_BOOL *pval);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MultiLevel )( 
            IMsoTickLabels * This,
            /* [in] */ VARIANT_BOOL pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoTickLabels * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoTickLabels * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoTickLabels * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoTickLabelsVtbl;

    interface IMsoTickLabels
    {
        CONST_VTBL struct IMsoTickLabelsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoTickLabels_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoTickLabels_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoTickLabels_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoTickLabels_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoTickLabels_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoTickLabels_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoTickLabels_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoTickLabels_get_Parent(This,ppval)	\
    ( (This)->lpVtbl -> get_Parent(This,ppval) ) 

#define IMsoTickLabels_Delete(This,pval)	\
    ( (This)->lpVtbl -> Delete(This,pval) ) 

#define IMsoTickLabels_get_Font(This,ppval)	\
    ( (This)->lpVtbl -> get_Font(This,ppval) ) 

#define IMsoTickLabels_get_Name(This,pval)	\
    ( (This)->lpVtbl -> get_Name(This,pval) ) 

#define IMsoTickLabels_get_NumberFormat(This,pval)	\
    ( (This)->lpVtbl -> get_NumberFormat(This,pval) ) 

#define IMsoTickLabels_put_NumberFormat(This,pval)	\
    ( (This)->lpVtbl -> put_NumberFormat(This,pval) ) 

#define IMsoTickLabels_get_NumberFormatLinked(This,pval)	\
    ( (This)->lpVtbl -> get_NumberFormatLinked(This,pval) ) 

#define IMsoTickLabels_put_NumberFormatLinked(This,pval)	\
    ( (This)->lpVtbl -> put_NumberFormatLinked(This,pval) ) 

#define IMsoTickLabels_get_NumberFormatLocal(This,pval)	\
    ( (This)->lpVtbl -> get_NumberFormatLocal(This,pval) ) 

#define IMsoTickLabels_put_NumberFormatLocal(This,pval)	\
    ( (This)->lpVtbl -> put_NumberFormatLocal(This,pval) ) 

#define IMsoTickLabels_get_Orientation(This,pval)	\
    ( (This)->lpVtbl -> get_Orientation(This,pval) ) 

#define IMsoTickLabels_put_Orientation(This,pval)	\
    ( (This)->lpVtbl -> put_Orientation(This,pval) ) 

#define IMsoTickLabels_Select(This,pval)	\
    ( (This)->lpVtbl -> Select(This,pval) ) 

#define IMsoTickLabels_get_ReadingOrder(This,pval)	\
    ( (This)->lpVtbl -> get_ReadingOrder(This,pval) ) 

#define IMsoTickLabels_put_ReadingOrder(This,pval)	\
    ( (This)->lpVtbl -> put_ReadingOrder(This,pval) ) 

#define IMsoTickLabels_get_AutoScaleFont(This,pval)	\
    ( (This)->lpVtbl -> get_AutoScaleFont(This,pval) ) 

#define IMsoTickLabels_put_AutoScaleFont(This,pval)	\
    ( (This)->lpVtbl -> put_AutoScaleFont(This,pval) ) 

#define IMsoTickLabels_get_Depth(This,pval)	\
    ( (This)->lpVtbl -> get_Depth(This,pval) ) 

#define IMsoTickLabels_get_Offset(This,pval)	\
    ( (This)->lpVtbl -> get_Offset(This,pval) ) 

#define IMsoTickLabels_put_Offset(This,pval)	\
    ( (This)->lpVtbl -> put_Offset(This,pval) ) 

#define IMsoTickLabels_get_Alignment(This,pval)	\
    ( (This)->lpVtbl -> get_Alignment(This,pval) ) 

#define IMsoTickLabels_put_Alignment(This,pval)	\
    ( (This)->lpVtbl -> put_Alignment(This,pval) ) 

#define IMsoTickLabels_get_MultiLevel(This,pval)	\
    ( (This)->lpVtbl -> get_MultiLevel(This,pval) ) 

#define IMsoTickLabels_put_MultiLevel(This,pval)	\
    ( (This)->lpVtbl -> put_MultiLevel(This,pval) ) 

#define IMsoTickLabels_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoTickLabels_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoTickLabels_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoTickLabels_INTERFACE_DEFINED__ */


#ifndef __IMsoHyperlinks_INTERFACE_DEFINED__
#define __IMsoHyperlinks_INTERFACE_DEFINED__

/* interface IMsoHyperlinks */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_IMsoHyperlinks;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7FFFFFFF-CB0C-4A5C-A511-96547F752ACD")
    IMsoHyperlinks : public IDispatch
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IMsoHyperlinksVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoHyperlinks * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoHyperlinks * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoHyperlinks * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoHyperlinks * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoHyperlinks * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoHyperlinks * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoHyperlinks * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } IMsoHyperlinksVtbl;

    interface IMsoHyperlinks
    {
        CONST_VTBL struct IMsoHyperlinksVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoHyperlinks_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoHyperlinks_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoHyperlinks_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoHyperlinks_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoHyperlinks_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoHyperlinks_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoHyperlinks_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoHyperlinks_INTERFACE_DEFINED__ */


#ifndef __IMsoDropLines_INTERFACE_DEFINED__
#define __IMsoDropLines_INTERFACE_DEFINED__

/* interface IMsoDropLines */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoDropLines;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C172C-0000-0000-C000-000000000046")
    IMsoDropLines : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **RHS) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoDropLinesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoDropLines * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoDropLines * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoDropLines * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoDropLines * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoDropLines * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoDropLines * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoDropLines * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoDropLines * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoDropLines * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoDropLines * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoDropLines * This,
            /* [retval][out] */ IMsoBorder **RHS);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoDropLines * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoDropLines * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoDropLines * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoDropLines * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoDropLinesVtbl;

    interface IMsoDropLines
    {
        CONST_VTBL struct IMsoDropLinesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoDropLines_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoDropLines_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoDropLines_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoDropLines_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoDropLines_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoDropLines_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoDropLines_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoDropLines_get_Name(This,RHS)	\
    ( (This)->lpVtbl -> get_Name(This,RHS) ) 

#define IMsoDropLines_Select(This)	\
    ( (This)->lpVtbl -> Select(This) ) 

#define IMsoDropLines_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoDropLines_get_Border(This,RHS)	\
    ( (This)->lpVtbl -> get_Border(This,RHS) ) 

#define IMsoDropLines_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IMsoDropLines_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoDropLines_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoDropLines_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoDropLines_INTERFACE_DEFINED__ */


#ifndef __IMsoHiLoLines_INTERFACE_DEFINED__
#define __IMsoHiLoLines_INTERFACE_DEFINED__

/* interface IMsoHiLoLines */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoHiLoLines;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C172E-0000-0000-C000-000000000046")
    IMsoHiLoLines : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Select( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Border( 
            /* [retval][out] */ IMsoBorder **RHS) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ IMsoChartFormat **ppChartFormat) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoHiLoLinesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoHiLoLines * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoHiLoLines * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoHiLoLines * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoHiLoLines * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoHiLoLines * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoHiLoLines * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoHiLoLines * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoHiLoLines * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IMsoHiLoLines * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IMsoHiLoLines * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Border )( 
            IMsoHiLoLines * This,
            /* [retval][out] */ IMsoBorder **RHS);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoHiLoLines * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IMsoHiLoLines * This,
            /* [retval][out] */ IMsoChartFormat **ppChartFormat);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoHiLoLines * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoHiLoLines * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoHiLoLinesVtbl;

    interface IMsoHiLoLines
    {
        CONST_VTBL struct IMsoHiLoLinesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoHiLoLines_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoHiLoLines_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoHiLoLines_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoHiLoLines_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoHiLoLines_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoHiLoLines_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoHiLoLines_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoHiLoLines_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoHiLoLines_get_Name(This,RHS)	\
    ( (This)->lpVtbl -> get_Name(This,RHS) ) 

#define IMsoHiLoLines_Select(This)	\
    ( (This)->lpVtbl -> Select(This) ) 

#define IMsoHiLoLines_get_Border(This,RHS)	\
    ( (This)->lpVtbl -> get_Border(This,RHS) ) 

#define IMsoHiLoLines_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IMsoHiLoLines_get_Format(This,ppChartFormat)	\
    ( (This)->lpVtbl -> get_Format(This,ppChartFormat) ) 

#define IMsoHiLoLines_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoHiLoLines_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoHiLoLines_INTERFACE_DEFINED__ */


#ifndef __IMsoChartGroup_INTERFACE_DEFINED__
#define __IMsoChartGroup_INTERFACE_DEFINED__

/* interface IMsoChartGroup */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoChartGroup;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1727-0000-0000-C000-000000000046")
    IMsoChartGroup : public IDispatch
    {
    public:
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AxisGroup( 
            /* [in] */ int piGroup) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AxisGroup( 
            /* [retval][out] */ int *piGroup) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DoughnutHoleSize( 
            /* [in] */ int pDoughnutHoleSize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DoughnutHoleSize( 
            /* [retval][out] */ int *pDoughnutHoleSize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DownBars( 
            /* [retval][out] */ IMsoDownBars **ppdownbars) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DropLines( 
            /* [retval][out] */ IMsoDropLines **ppdroplines) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FirstSliceAngle( 
            /* [in] */ int pFirstSliceAngle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FirstSliceAngle( 
            /* [retval][out] */ int *pFirstSliceAngle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_GapWidth( 
            /* [in] */ int pGapWidth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_GapWidth( 
            /* [retval][out] */ int *pGapWidth) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasDropLines( 
            /* [in] */ VARIANT_BOOL pfHasDropLines) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasDropLines( 
            /* [retval][out] */ VARIANT_BOOL *pfHasDropLines) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasHiLoLines( 
            /* [in] */ VARIANT_BOOL pfHasHiLoLines) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasHiLoLines( 
            /* [retval][out] */ VARIANT_BOOL *pfHasHiLoLines) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasRadarAxisLabels( 
            /* [in] */ VARIANT_BOOL pfHasRadarAxisLabels) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasRadarAxisLabels( 
            /* [retval][out] */ VARIANT_BOOL *pfHasRadarAxisLabels) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasSeriesLines( 
            /* [in] */ VARIANT_BOOL pfHasSeriesLines) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasSeriesLines( 
            /* [retval][out] */ VARIANT_BOOL *pfHasSeriesLines) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_HasUpDownBars( 
            /* [in] */ VARIANT_BOOL pfHasUpDownBars) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HasUpDownBars( 
            /* [retval][out] */ VARIANT_BOOL *pfHasUpDownBars) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_HiLoLines( 
            /* [retval][out] */ IMsoHiLoLines **ppHiLoLines) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ int *pIndex) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Overlap( 
            /* [in] */ int pOverlap) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Overlap( 
            /* [retval][out] */ int *pOverlap) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RadarAxisLabels( 
            /* [retval][out] */ IDispatch **ppRadarAxisLabels) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE SeriesCollection( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **ppSeriesCollection) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SeriesLines( 
            /* [retval][out] */ IMsoSeriesLines **ppSeriesLines) = 0;
        
        virtual /* [hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_SubType( 
            /* [in] */ int pSubType) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_SubType( 
            /* [retval][out] */ int *pSubType) = 0;
        
        virtual /* [hidden][propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ int ptype) = 0;
        
        virtual /* [hidden][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ int *ptype) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UpBars( 
            /* [retval][out] */ IMsoUpBars **ppUpBars) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_VaryByCategories( 
            /* [in] */ VARIANT_BOOL pfVaryByCategories) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_VaryByCategories( 
            /* [retval][out] */ VARIANT_BOOL *pfVaryByCategories) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SizeRepresents( 
            /* [retval][out] */ XlSizeRepresents *pXlSizeRepresents) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SizeRepresents( 
            /* [in] */ XlSizeRepresents pXlSizeRepresents) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_BubbleScale( 
            /* [in] */ int pbubblescale) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_BubbleScale( 
            /* [retval][out] */ int *pbubblescale) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShowNegativeBubbles( 
            /* [in] */ VARIANT_BOOL pfShowNegativeBubbles) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShowNegativeBubbles( 
            /* [retval][out] */ VARIANT_BOOL *pfShowNegativeBubbles) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SplitType( 
            /* [in] */ XlChartSplitType pChartSplitType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SplitType( 
            /* [retval][out] */ XlChartSplitType *pChartSplitType) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SplitValue( 
            /* [retval][out] */ VARIANT *pSplitValue) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SplitValue( 
            /* [in] */ VARIANT pSplitValue) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SecondPlotSize( 
            /* [retval][out] */ int *pSecondPlotSize) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_SecondPlotSize( 
            /* [in] */ int pSecondPlotSize) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Has3DShading( 
            /* [retval][out] */ VARIANT_BOOL *RHS) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Has3DShading( 
            /* [in] */ VARIANT_BOOL RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE CategoryCollection( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **ppcatcollection) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE FullCategoryCollection( 
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **ppcatcollection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoChartGroupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoChartGroup * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoChartGroup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoChartGroup * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoChartGroup * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoChartGroup * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoChartGroup * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoChartGroup * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AxisGroup )( 
            IMsoChartGroup * This,
            /* [in] */ int piGroup);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AxisGroup )( 
            IMsoChartGroup * This,
            /* [retval][out] */ int *piGroup);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DoughnutHoleSize )( 
            IMsoChartGroup * This,
            /* [in] */ int pDoughnutHoleSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DoughnutHoleSize )( 
            IMsoChartGroup * This,
            /* [retval][out] */ int *pDoughnutHoleSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DownBars )( 
            IMsoChartGroup * This,
            /* [retval][out] */ IMsoDownBars **ppdownbars);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DropLines )( 
            IMsoChartGroup * This,
            /* [retval][out] */ IMsoDropLines **ppdroplines);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FirstSliceAngle )( 
            IMsoChartGroup * This,
            /* [in] */ int pFirstSliceAngle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FirstSliceAngle )( 
            IMsoChartGroup * This,
            /* [retval][out] */ int *pFirstSliceAngle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_GapWidth )( 
            IMsoChartGroup * This,
            /* [in] */ int pGapWidth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_GapWidth )( 
            IMsoChartGroup * This,
            /* [retval][out] */ int *pGapWidth);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasDropLines )( 
            IMsoChartGroup * This,
            /* [in] */ VARIANT_BOOL pfHasDropLines);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasDropLines )( 
            IMsoChartGroup * This,
            /* [retval][out] */ VARIANT_BOOL *pfHasDropLines);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasHiLoLines )( 
            IMsoChartGroup * This,
            /* [in] */ VARIANT_BOOL pfHasHiLoLines);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasHiLoLines )( 
            IMsoChartGroup * This,
            /* [retval][out] */ VARIANT_BOOL *pfHasHiLoLines);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasRadarAxisLabels )( 
            IMsoChartGroup * This,
            /* [in] */ VARIANT_BOOL pfHasRadarAxisLabels);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasRadarAxisLabels )( 
            IMsoChartGroup * This,
            /* [retval][out] */ VARIANT_BOOL *pfHasRadarAxisLabels);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasSeriesLines )( 
            IMsoChartGroup * This,
            /* [in] */ VARIANT_BOOL pfHasSeriesLines);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasSeriesLines )( 
            IMsoChartGroup * This,
            /* [retval][out] */ VARIANT_BOOL *pfHasSeriesLines);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_HasUpDownBars )( 
            IMsoChartGroup * This,
            /* [in] */ VARIANT_BOOL pfHasUpDownBars);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HasUpDownBars )( 
            IMsoChartGroup * This,
            /* [retval][out] */ VARIANT_BOOL *pfHasUpDownBars);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HiLoLines )( 
            IMsoChartGroup * This,
            /* [retval][out] */ IMsoHiLoLines **ppHiLoLines);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IMsoChartGroup * This,
            /* [retval][out] */ int *pIndex);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Overlap )( 
            IMsoChartGroup * This,
            /* [in] */ int pOverlap);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Overlap )( 
            IMsoChartGroup * This,
            /* [retval][out] */ int *pOverlap);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RadarAxisLabels )( 
            IMsoChartGroup * This,
            /* [retval][out] */ IDispatch **ppRadarAxisLabels);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *SeriesCollection )( 
            IMsoChartGroup * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **ppSeriesCollection);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SeriesLines )( 
            IMsoChartGroup * This,
            /* [retval][out] */ IMsoSeriesLines **ppSeriesLines);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SubType )( 
            IMsoChartGroup * This,
            /* [in] */ int pSubType);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SubType )( 
            IMsoChartGroup * This,
            /* [retval][out] */ int *pSubType);
        
        /* [hidden][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IMsoChartGroup * This,
            /* [in] */ int ptype);
        
        /* [hidden][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IMsoChartGroup * This,
            /* [retval][out] */ int *ptype);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UpBars )( 
            IMsoChartGroup * This,
            /* [retval][out] */ IMsoUpBars **ppUpBars);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_VaryByCategories )( 
            IMsoChartGroup * This,
            /* [in] */ VARIANT_BOOL pfVaryByCategories);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VaryByCategories )( 
            IMsoChartGroup * This,
            /* [retval][out] */ VARIANT_BOOL *pfVaryByCategories);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SizeRepresents )( 
            IMsoChartGroup * This,
            /* [retval][out] */ XlSizeRepresents *pXlSizeRepresents);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SizeRepresents )( 
            IMsoChartGroup * This,
            /* [in] */ XlSizeRepresents pXlSizeRepresents);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BubbleScale )( 
            IMsoChartGroup * This,
            /* [in] */ int pbubblescale);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BubbleScale )( 
            IMsoChartGroup * This,
            /* [retval][out] */ int *pbubblescale);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShowNegativeBubbles )( 
            IMsoChartGroup * This,
            /* [in] */ VARIANT_BOOL pfShowNegativeBubbles);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShowNegativeBubbles )( 
            IMsoChartGroup * This,
            /* [retval][out] */ VARIANT_BOOL *pfShowNegativeBubbles);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SplitType )( 
            IMsoChartGroup * This,
            /* [in] */ XlChartSplitType pChartSplitType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SplitType )( 
            IMsoChartGroup * This,
            /* [retval][out] */ XlChartSplitType *pChartSplitType);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SplitValue )( 
            IMsoChartGroup * This,
            /* [retval][out] */ VARIANT *pSplitValue);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SplitValue )( 
            IMsoChartGroup * This,
            /* [in] */ VARIANT pSplitValue);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SecondPlotSize )( 
            IMsoChartGroup * This,
            /* [retval][out] */ int *pSecondPlotSize);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SecondPlotSize )( 
            IMsoChartGroup * This,
            /* [in] */ int pSecondPlotSize);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Has3DShading )( 
            IMsoChartGroup * This,
            /* [retval][out] */ VARIANT_BOOL *RHS);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Has3DShading )( 
            IMsoChartGroup * This,
            /* [in] */ VARIANT_BOOL RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoChartGroup * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoChartGroup * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoChartGroup * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *CategoryCollection )( 
            IMsoChartGroup * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **ppcatcollection);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *FullCategoryCollection )( 
            IMsoChartGroup * This,
            /* [optional][in] */ VARIANT Index,
            /* [retval][out] */ IDispatch **ppcatcollection);
        
        END_INTERFACE
    } IMsoChartGroupVtbl;

    interface IMsoChartGroup
    {
        CONST_VTBL struct IMsoChartGroupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoChartGroup_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoChartGroup_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoChartGroup_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoChartGroup_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoChartGroup_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoChartGroup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoChartGroup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoChartGroup_put_AxisGroup(This,piGroup)	\
    ( (This)->lpVtbl -> put_AxisGroup(This,piGroup) ) 

#define IMsoChartGroup_get_AxisGroup(This,piGroup)	\
    ( (This)->lpVtbl -> get_AxisGroup(This,piGroup) ) 

#define IMsoChartGroup_put_DoughnutHoleSize(This,pDoughnutHoleSize)	\
    ( (This)->lpVtbl -> put_DoughnutHoleSize(This,pDoughnutHoleSize) ) 

#define IMsoChartGroup_get_DoughnutHoleSize(This,pDoughnutHoleSize)	\
    ( (This)->lpVtbl -> get_DoughnutHoleSize(This,pDoughnutHoleSize) ) 

#define IMsoChartGroup_get_DownBars(This,ppdownbars)	\
    ( (This)->lpVtbl -> get_DownBars(This,ppdownbars) ) 

#define IMsoChartGroup_get_DropLines(This,ppdroplines)	\
    ( (This)->lpVtbl -> get_DropLines(This,ppdroplines) ) 

#define IMsoChartGroup_put_FirstSliceAngle(This,pFirstSliceAngle)	\
    ( (This)->lpVtbl -> put_FirstSliceAngle(This,pFirstSliceAngle) ) 

#define IMsoChartGroup_get_FirstSliceAngle(This,pFirstSliceAngle)	\
    ( (This)->lpVtbl -> get_FirstSliceAngle(This,pFirstSliceAngle) ) 

#define IMsoChartGroup_put_GapWidth(This,pGapWidth)	\
    ( (This)->lpVtbl -> put_GapWidth(This,pGapWidth) ) 

#define IMsoChartGroup_get_GapWidth(This,pGapWidth)	\
    ( (This)->lpVtbl -> get_GapWidth(This,pGapWidth) ) 

#define IMsoChartGroup_put_HasDropLines(This,pfHasDropLines)	\
    ( (This)->lpVtbl -> put_HasDropLines(This,pfHasDropLines) ) 

#define IMsoChartGroup_get_HasDropLines(This,pfHasDropLines)	\
    ( (This)->lpVtbl -> get_HasDropLines(This,pfHasDropLines) ) 

#define IMsoChartGroup_put_HasHiLoLines(This,pfHasHiLoLines)	\
    ( (This)->lpVtbl -> put_HasHiLoLines(This,pfHasHiLoLines) ) 

#define IMsoChartGroup_get_HasHiLoLines(This,pfHasHiLoLines)	\
    ( (This)->lpVtbl -> get_HasHiLoLines(This,pfHasHiLoLines) ) 

#define IMsoChartGroup_put_HasRadarAxisLabels(This,pfHasRadarAxisLabels)	\
    ( (This)->lpVtbl -> put_HasRadarAxisLabels(This,pfHasRadarAxisLabels) ) 

#define IMsoChartGroup_get_HasRadarAxisLabels(This,pfHasRadarAxisLabels)	\
    ( (This)->lpVtbl -> get_HasRadarAxisLabels(This,pfHasRadarAxisLabels) ) 

#define IMsoChartGroup_put_HasSeriesLines(This,pfHasSeriesLines)	\
    ( (This)->lpVtbl -> put_HasSeriesLines(This,pfHasSeriesLines) ) 

#define IMsoChartGroup_get_HasSeriesLines(This,pfHasSeriesLines)	\
    ( (This)->lpVtbl -> get_HasSeriesLines(This,pfHasSeriesLines) ) 

#define IMsoChartGroup_put_HasUpDownBars(This,pfHasUpDownBars)	\
    ( (This)->lpVtbl -> put_HasUpDownBars(This,pfHasUpDownBars) ) 

#define IMsoChartGroup_get_HasUpDownBars(This,pfHasUpDownBars)	\
    ( (This)->lpVtbl -> get_HasUpDownBars(This,pfHasUpDownBars) ) 

#define IMsoChartGroup_get_HiLoLines(This,ppHiLoLines)	\
    ( (This)->lpVtbl -> get_HiLoLines(This,ppHiLoLines) ) 

#define IMsoChartGroup_get_Index(This,pIndex)	\
    ( (This)->lpVtbl -> get_Index(This,pIndex) ) 

#define IMsoChartGroup_put_Overlap(This,pOverlap)	\
    ( (This)->lpVtbl -> put_Overlap(This,pOverlap) ) 

#define IMsoChartGroup_get_Overlap(This,pOverlap)	\
    ( (This)->lpVtbl -> get_Overlap(This,pOverlap) ) 

#define IMsoChartGroup_get_RadarAxisLabels(This,ppRadarAxisLabels)	\
    ( (This)->lpVtbl -> get_RadarAxisLabels(This,ppRadarAxisLabels) ) 

#define IMsoChartGroup_SeriesCollection(This,Index,ppSeriesCollection)	\
    ( (This)->lpVtbl -> SeriesCollection(This,Index,ppSeriesCollection) ) 

#define IMsoChartGroup_get_SeriesLines(This,ppSeriesLines)	\
    ( (This)->lpVtbl -> get_SeriesLines(This,ppSeriesLines) ) 

#define IMsoChartGroup_put_SubType(This,pSubType)	\
    ( (This)->lpVtbl -> put_SubType(This,pSubType) ) 

#define IMsoChartGroup_get_SubType(This,pSubType)	\
    ( (This)->lpVtbl -> get_SubType(This,pSubType) ) 

#define IMsoChartGroup_put_Type(This,ptype)	\
    ( (This)->lpVtbl -> put_Type(This,ptype) ) 

#define IMsoChartGroup_get_Type(This,ptype)	\
    ( (This)->lpVtbl -> get_Type(This,ptype) ) 

#define IMsoChartGroup_get_UpBars(This,ppUpBars)	\
    ( (This)->lpVtbl -> get_UpBars(This,ppUpBars) ) 

#define IMsoChartGroup_put_VaryByCategories(This,pfVaryByCategories)	\
    ( (This)->lpVtbl -> put_VaryByCategories(This,pfVaryByCategories) ) 

#define IMsoChartGroup_get_VaryByCategories(This,pfVaryByCategories)	\
    ( (This)->lpVtbl -> get_VaryByCategories(This,pfVaryByCategories) ) 

#define IMsoChartGroup_get_SizeRepresents(This,pXlSizeRepresents)	\
    ( (This)->lpVtbl -> get_SizeRepresents(This,pXlSizeRepresents) ) 

#define IMsoChartGroup_put_SizeRepresents(This,pXlSizeRepresents)	\
    ( (This)->lpVtbl -> put_SizeRepresents(This,pXlSizeRepresents) ) 

#define IMsoChartGroup_put_BubbleScale(This,pbubblescale)	\
    ( (This)->lpVtbl -> put_BubbleScale(This,pbubblescale) ) 

#define IMsoChartGroup_get_BubbleScale(This,pbubblescale)	\
    ( (This)->lpVtbl -> get_BubbleScale(This,pbubblescale) ) 

#define IMsoChartGroup_put_ShowNegativeBubbles(This,pfShowNegativeBubbles)	\
    ( (This)->lpVtbl -> put_ShowNegativeBubbles(This,pfShowNegativeBubbles) ) 

#define IMsoChartGroup_get_ShowNegativeBubbles(This,pfShowNegativeBubbles)	\
    ( (This)->lpVtbl -> get_ShowNegativeBubbles(This,pfShowNegativeBubbles) ) 

#define IMsoChartGroup_put_SplitType(This,pChartSplitType)	\
    ( (This)->lpVtbl -> put_SplitType(This,pChartSplitType) ) 

#define IMsoChartGroup_get_SplitType(This,pChartSplitType)	\
    ( (This)->lpVtbl -> get_SplitType(This,pChartSplitType) ) 

#define IMsoChartGroup_get_SplitValue(This,pSplitValue)	\
    ( (This)->lpVtbl -> get_SplitValue(This,pSplitValue) ) 

#define IMsoChartGroup_put_SplitValue(This,pSplitValue)	\
    ( (This)->lpVtbl -> put_SplitValue(This,pSplitValue) ) 

#define IMsoChartGroup_get_SecondPlotSize(This,pSecondPlotSize)	\
    ( (This)->lpVtbl -> get_SecondPlotSize(This,pSecondPlotSize) ) 

#define IMsoChartGroup_put_SecondPlotSize(This,pSecondPlotSize)	\
    ( (This)->lpVtbl -> put_SecondPlotSize(This,pSecondPlotSize) ) 

#define IMsoChartGroup_get_Has3DShading(This,RHS)	\
    ( (This)->lpVtbl -> get_Has3DShading(This,RHS) ) 

#define IMsoChartGroup_put_Has3DShading(This,RHS)	\
    ( (This)->lpVtbl -> put_Has3DShading(This,RHS) ) 

#define IMsoChartGroup_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoChartGroup_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoChartGroup_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoChartGroup_CategoryCollection(This,Index,ppcatcollection)	\
    ( (This)->lpVtbl -> CategoryCollection(This,Index,ppcatcollection) ) 

#define IMsoChartGroup_FullCategoryCollection(This,Index,ppcatcollection)	\
    ( (This)->lpVtbl -> FullCategoryCollection(This,Index,ppcatcollection) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoChartGroup_INTERFACE_DEFINED__ */


#ifndef __ChartGroups_INTERFACE_DEFINED__
#define __ChartGroups_INTERFACE_DEFINED__

/* interface ChartGroups */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_ChartGroups;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C172B-0000-0000-C000-000000000046")
    ChartGroups : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoChartGroup **RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _NewEnum( 
            /* [retval][out] */ IUnknown **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ChartGroupsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ChartGroups * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ChartGroups * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ChartGroups * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ChartGroups * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ChartGroups * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ChartGroups * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ChartGroups * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            ChartGroups * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ChartGroups * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            ChartGroups * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoChartGroup **RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *_NewEnum )( 
            ChartGroups * This,
            /* [retval][out] */ IUnknown **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ChartGroups * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ChartGroups * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } ChartGroupsVtbl;

    interface ChartGroups
    {
        CONST_VTBL struct ChartGroupsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ChartGroups_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ChartGroups_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ChartGroups_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ChartGroups_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ChartGroups_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ChartGroups_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ChartGroups_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ChartGroups_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define ChartGroups_get_Count(This,RHS)	\
    ( (This)->lpVtbl -> get_Count(This,RHS) ) 

#define ChartGroups_Item(This,Index,RHS)	\
    ( (This)->lpVtbl -> Item(This,Index,RHS) ) 

#define ChartGroups__NewEnum(This,RHS)	\
    ( (This)->lpVtbl -> _NewEnum(This,RHS) ) 

#define ChartGroups_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define ChartGroups_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ChartGroups_INTERFACE_DEFINED__ */


#ifndef __IMsoCharacters_INTERFACE_DEFINED__
#define __IMsoCharacters_INTERFACE_DEFINED__

/* interface IMsoCharacters */
/* [object][oleautomation][nonextensible][dual][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoCharacters;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1731-0000-0000-C000-000000000046")
    IMsoCharacters : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Caption( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Caption( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Font( 
            /* [retval][out] */ ChartFont **RHS) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ BSTR bstr,
            /* [retval][out] */ VARIANT *RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Text( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Text( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PhoneticCharacters( 
            /* [retval][out] */ BSTR *RHS) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PhoneticCharacters( 
            /* [in] */ BSTR RHS) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoCharactersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoCharacters * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoCharacters * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoCharacters * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoCharacters * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoCharacters * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoCharacters * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoCharacters * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoCharacters * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            IMsoCharacters * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
            IMsoCharacters * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IMsoCharacters * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IMsoCharacters * This,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Font )( 
            IMsoCharacters * This,
            /* [retval][out] */ ChartFont **RHS);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            IMsoCharacters * This,
            /* [in] */ BSTR bstr,
            /* [retval][out] */ VARIANT *RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Text )( 
            IMsoCharacters * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Text )( 
            IMsoCharacters * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PhoneticCharacters )( 
            IMsoCharacters * This,
            /* [retval][out] */ BSTR *RHS);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PhoneticCharacters )( 
            IMsoCharacters * This,
            /* [in] */ BSTR RHS);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoCharacters * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoCharacters * This,
            /* [retval][out] */ long *pval);
        
        END_INTERFACE
    } IMsoCharactersVtbl;

    interface IMsoCharacters
    {
        CONST_VTBL struct IMsoCharactersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoCharacters_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoCharacters_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoCharacters_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoCharacters_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoCharacters_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoCharacters_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoCharacters_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoCharacters_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoCharacters_get_Caption(This,RHS)	\
    ( (This)->lpVtbl -> get_Caption(This,RHS) ) 

#define IMsoCharacters_put_Caption(This,RHS)	\
    ( (This)->lpVtbl -> put_Caption(This,RHS) ) 

#define IMsoCharacters_get_Count(This,RHS)	\
    ( (This)->lpVtbl -> get_Count(This,RHS) ) 

#define IMsoCharacters_Delete(This,RHS)	\
    ( (This)->lpVtbl -> Delete(This,RHS) ) 

#define IMsoCharacters_get_Font(This,RHS)	\
    ( (This)->lpVtbl -> get_Font(This,RHS) ) 

#define IMsoCharacters_Insert(This,bstr,RHS)	\
    ( (This)->lpVtbl -> Insert(This,bstr,RHS) ) 

#define IMsoCharacters_get_Text(This,RHS)	\
    ( (This)->lpVtbl -> get_Text(This,RHS) ) 

#define IMsoCharacters_put_Text(This,RHS)	\
    ( (This)->lpVtbl -> put_Text(This,RHS) ) 

#define IMsoCharacters_get_PhoneticCharacters(This,RHS)	\
    ( (This)->lpVtbl -> get_PhoneticCharacters(This,RHS) ) 

#define IMsoCharacters_put_PhoneticCharacters(This,RHS)	\
    ( (This)->lpVtbl -> put_PhoneticCharacters(This,RHS) ) 

#define IMsoCharacters_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoCharacters_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoCharacters_INTERFACE_DEFINED__ */


#ifndef __IMsoChartFormat_INTERFACE_DEFINED__
#define __IMsoChartFormat_INTERFACE_DEFINED__

/* interface IMsoChartFormat */
/* [object][oleautomation][nonextensible][dual][hidden][uuid] */ 


extern "C++" const IID IID_IMsoChartFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1730-0000-0000-C000-000000000046")
    IMsoChartFormat : public IDispatch
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Fill( 
            /* [retval][out] */ FillFormat **ppfill) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Glow( 
            /* [retval][out] */ GlowFormat **ppGlow) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Line( 
            /* [retval][out] */ LineFormat **ppline) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppParent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureFormat( 
            /* [retval][out] */ PictureFormat **ppPictureFormat) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Shadow( 
            /* [retval][out] */ ShadowFormat **ppShadow) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_SoftEdge( 
            /* [retval][out] */ SoftEdgeFormat **ppSoftEdge) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextFrame2( 
            /* [retval][out] */ TextFrame2 **ppTextFrame) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ThreeD( 
            /* [retval][out] */ ThreeDFormat **ppThreeD) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Adjustments( 
            /* [retval][out] */ Adjustments **ppAdjustments) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AutoShapeType( 
            /* [retval][out] */ MsoAutoShapeType *AutoShapeType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_AutoShapeType( 
            /* [in] */ MsoAutoShapeType AutoShapeType) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoChartFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoChartFormat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoChartFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoChartFormat * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoChartFormat * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoChartFormat * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoChartFormat * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoChartFormat * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fill )( 
            IMsoChartFormat * This,
            /* [retval][out] */ FillFormat **ppfill);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Glow )( 
            IMsoChartFormat * This,
            /* [retval][out] */ GlowFormat **ppGlow);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Line )( 
            IMsoChartFormat * This,
            /* [retval][out] */ LineFormat **ppline);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoChartFormat * This,
            /* [retval][out] */ IDispatch **ppParent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureFormat )( 
            IMsoChartFormat * This,
            /* [retval][out] */ PictureFormat **ppPictureFormat);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shadow )( 
            IMsoChartFormat * This,
            /* [retval][out] */ ShadowFormat **ppShadow);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SoftEdge )( 
            IMsoChartFormat * This,
            /* [retval][out] */ SoftEdgeFormat **ppSoftEdge);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextFrame2 )( 
            IMsoChartFormat * This,
            /* [retval][out] */ TextFrame2 **ppTextFrame);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ThreeD )( 
            IMsoChartFormat * This,
            /* [retval][out] */ ThreeDFormat **ppThreeD);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoChartFormat * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoChartFormat * This,
            /* [retval][out] */ long *pval);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Adjustments )( 
            IMsoChartFormat * This,
            /* [retval][out] */ Adjustments **ppAdjustments);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AutoShapeType )( 
            IMsoChartFormat * This,
            /* [retval][out] */ MsoAutoShapeType *AutoShapeType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AutoShapeType )( 
            IMsoChartFormat * This,
            /* [in] */ MsoAutoShapeType AutoShapeType);
        
        END_INTERFACE
    } IMsoChartFormatVtbl;

    interface IMsoChartFormat
    {
        CONST_VTBL struct IMsoChartFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoChartFormat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoChartFormat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoChartFormat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoChartFormat_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoChartFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoChartFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoChartFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoChartFormat_get_Fill(This,ppfill)	\
    ( (This)->lpVtbl -> get_Fill(This,ppfill) ) 

#define IMsoChartFormat_get_Glow(This,ppGlow)	\
    ( (This)->lpVtbl -> get_Glow(This,ppGlow) ) 

#define IMsoChartFormat_get_Line(This,ppline)	\
    ( (This)->lpVtbl -> get_Line(This,ppline) ) 

#define IMsoChartFormat_get_Parent(This,ppParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppParent) ) 

#define IMsoChartFormat_get_PictureFormat(This,ppPictureFormat)	\
    ( (This)->lpVtbl -> get_PictureFormat(This,ppPictureFormat) ) 

#define IMsoChartFormat_get_Shadow(This,ppShadow)	\
    ( (This)->lpVtbl -> get_Shadow(This,ppShadow) ) 

#define IMsoChartFormat_get_SoftEdge(This,ppSoftEdge)	\
    ( (This)->lpVtbl -> get_SoftEdge(This,ppSoftEdge) ) 

#define IMsoChartFormat_get_TextFrame2(This,ppTextFrame)	\
    ( (This)->lpVtbl -> get_TextFrame2(This,ppTextFrame) ) 

#define IMsoChartFormat_get_ThreeD(This,ppThreeD)	\
    ( (This)->lpVtbl -> get_ThreeD(This,ppThreeD) ) 

#define IMsoChartFormat_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define IMsoChartFormat_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define IMsoChartFormat_get_Adjustments(This,ppAdjustments)	\
    ( (This)->lpVtbl -> get_Adjustments(This,ppAdjustments) ) 

#define IMsoChartFormat_get_AutoShapeType(This,AutoShapeType)	\
    ( (This)->lpVtbl -> get_AutoShapeType(This,AutoShapeType) ) 

#define IMsoChartFormat_put_AutoShapeType(This,AutoShapeType)	\
    ( (This)->lpVtbl -> put_AutoShapeType(This,AutoShapeType) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoChartFormat_INTERFACE_DEFINED__ */


#ifndef __BulletFormat2_INTERFACE_DEFINED__
#define __BulletFormat2_INTERFACE_DEFINED__

/* interface BulletFormat2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_BulletFormat2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03B9-0000-0000-C000-000000000046")
    BulletFormat2 : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Character( 
            /* [retval][out] */ int *Character) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Character( 
            /* [in] */ int Character) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Font( 
            /* [retval][out] */ Font2 **Font) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Number( 
            /* [retval][out] */ int *Number) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Picture( 
            /* [in] */ BSTR FileName) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_RelativeSize( 
            /* [retval][out] */ single *Size) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_RelativeSize( 
            /* [in] */ single Size) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_StartValue( 
            /* [retval][out] */ int *Start) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_StartValue( 
            /* [in] */ int Start) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Style( 
            /* [retval][out] */ MsoNumberedBulletStyle *Style) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Style( 
            /* [in] */ MsoNumberedBulletStyle Style) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoBulletType *Type) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ MsoBulletType Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UseTextColor( 
            /* [retval][out] */ MsoTriState *UseTextColor) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_UseTextColor( 
            /* [in] */ MsoTriState UseTextColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_UseTextFont( 
            /* [retval][out] */ MsoTriState *UseTextFont) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_UseTextFont( 
            /* [in] */ MsoTriState UseTextFont) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ MsoTriState *Visible) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ MsoTriState Visible) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct BulletFormat2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            BulletFormat2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            BulletFormat2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            BulletFormat2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            BulletFormat2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            BulletFormat2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            BulletFormat2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            BulletFormat2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            BulletFormat2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            BulletFormat2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            BulletFormat2 * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Character )( 
            BulletFormat2 * This,
            /* [retval][out] */ int *Character);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Character )( 
            BulletFormat2 * This,
            /* [in] */ int Character);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Font )( 
            BulletFormat2 * This,
            /* [retval][out] */ Font2 **Font);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Number )( 
            BulletFormat2 * This,
            /* [retval][out] */ int *Number);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Picture )( 
            BulletFormat2 * This,
            /* [in] */ BSTR FileName);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeSize )( 
            BulletFormat2 * This,
            /* [retval][out] */ single *Size);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RelativeSize )( 
            BulletFormat2 * This,
            /* [in] */ single Size);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StartValue )( 
            BulletFormat2 * This,
            /* [retval][out] */ int *Start);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StartValue )( 
            BulletFormat2 * This,
            /* [in] */ int Start);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Style )( 
            BulletFormat2 * This,
            /* [retval][out] */ MsoNumberedBulletStyle *Style);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Style )( 
            BulletFormat2 * This,
            /* [in] */ MsoNumberedBulletStyle Style);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            BulletFormat2 * This,
            /* [retval][out] */ MsoBulletType *Type);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            BulletFormat2 * This,
            /* [in] */ MsoBulletType Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UseTextColor )( 
            BulletFormat2 * This,
            /* [retval][out] */ MsoTriState *UseTextColor);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UseTextColor )( 
            BulletFormat2 * This,
            /* [in] */ MsoTriState UseTextColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UseTextFont )( 
            BulletFormat2 * This,
            /* [retval][out] */ MsoTriState *UseTextFont);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UseTextFont )( 
            BulletFormat2 * This,
            /* [in] */ MsoTriState UseTextFont);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            BulletFormat2 * This,
            /* [retval][out] */ MsoTriState *Visible);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            BulletFormat2 * This,
            /* [in] */ MsoTriState Visible);
        
        END_INTERFACE
    } BulletFormat2Vtbl;

    interface BulletFormat2
    {
        CONST_VTBL struct BulletFormat2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define BulletFormat2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define BulletFormat2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define BulletFormat2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define BulletFormat2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define BulletFormat2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define BulletFormat2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define BulletFormat2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define BulletFormat2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define BulletFormat2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define BulletFormat2_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define BulletFormat2_get_Character(This,Character)	\
    ( (This)->lpVtbl -> get_Character(This,Character) ) 

#define BulletFormat2_put_Character(This,Character)	\
    ( (This)->lpVtbl -> put_Character(This,Character) ) 

#define BulletFormat2_get_Font(This,Font)	\
    ( (This)->lpVtbl -> get_Font(This,Font) ) 

#define BulletFormat2_get_Number(This,Number)	\
    ( (This)->lpVtbl -> get_Number(This,Number) ) 

#define BulletFormat2_Picture(This,FileName)	\
    ( (This)->lpVtbl -> Picture(This,FileName) ) 

#define BulletFormat2_get_RelativeSize(This,Size)	\
    ( (This)->lpVtbl -> get_RelativeSize(This,Size) ) 

#define BulletFormat2_put_RelativeSize(This,Size)	\
    ( (This)->lpVtbl -> put_RelativeSize(This,Size) ) 

#define BulletFormat2_get_StartValue(This,Start)	\
    ( (This)->lpVtbl -> get_StartValue(This,Start) ) 

#define BulletFormat2_put_StartValue(This,Start)	\
    ( (This)->lpVtbl -> put_StartValue(This,Start) ) 

#define BulletFormat2_get_Style(This,Style)	\
    ( (This)->lpVtbl -> get_Style(This,Style) ) 

#define BulletFormat2_put_Style(This,Style)	\
    ( (This)->lpVtbl -> put_Style(This,Style) ) 

#define BulletFormat2_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define BulletFormat2_put_Type(This,Type)	\
    ( (This)->lpVtbl -> put_Type(This,Type) ) 

#define BulletFormat2_get_UseTextColor(This,UseTextColor)	\
    ( (This)->lpVtbl -> get_UseTextColor(This,UseTextColor) ) 

#define BulletFormat2_put_UseTextColor(This,UseTextColor)	\
    ( (This)->lpVtbl -> put_UseTextColor(This,UseTextColor) ) 

#define BulletFormat2_get_UseTextFont(This,UseTextFont)	\
    ( (This)->lpVtbl -> get_UseTextFont(This,UseTextFont) ) 

#define BulletFormat2_put_UseTextFont(This,UseTextFont)	\
    ( (This)->lpVtbl -> put_UseTextFont(This,UseTextFont) ) 

#define BulletFormat2_get_Visible(This,Visible)	\
    ( (This)->lpVtbl -> get_Visible(This,Visible) ) 

#define BulletFormat2_put_Visible(This,Visible)	\
    ( (This)->lpVtbl -> put_Visible(This,Visible) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __BulletFormat2_INTERFACE_DEFINED__ */


#ifndef __TabStops2_INTERFACE_DEFINED__
#define __TabStops2_INTERFACE_DEFINED__

/* interface TabStops2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_TabStops2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03BA-0000-0000-C000-000000000046")
    TabStops2 : public _IMsoDispObj
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ TabStop2 **TabStop) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ MsoTabStopType Type,
            /* [in] */ single Position,
            /* [retval][out] */ TabStop2 **TabStop) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_DefaultSpacing( 
            /* [retval][out] */ single *Spacing) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_DefaultSpacing( 
            /* [in] */ single Spacing) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct TabStops2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            TabStops2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            TabStops2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            TabStops2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            TabStops2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            TabStops2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            TabStops2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            TabStops2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            TabStops2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            TabStops2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            TabStops2 * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ TabStop2 **TabStop);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            TabStops2 * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            TabStops2 * This,
            /* [in] */ MsoTabStopType Type,
            /* [in] */ single Position,
            /* [retval][out] */ TabStop2 **TabStop);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            TabStops2 * This,
            /* [retval][out] */ int *Count);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultSpacing )( 
            TabStops2 * This,
            /* [retval][out] */ single *Spacing);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultSpacing )( 
            TabStops2 * This,
            /* [in] */ single Spacing);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            TabStops2 * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        END_INTERFACE
    } TabStops2Vtbl;

    interface TabStops2
    {
        CONST_VTBL struct TabStops2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define TabStops2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define TabStops2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define TabStops2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define TabStops2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define TabStops2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define TabStops2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define TabStops2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define TabStops2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define TabStops2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define TabStops2_Item(This,Index,TabStop)	\
    ( (This)->lpVtbl -> Item(This,Index,TabStop) ) 

#define TabStops2_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define TabStops2_Add(This,Type,Position,TabStop)	\
    ( (This)->lpVtbl -> Add(This,Type,Position,TabStop) ) 

#define TabStops2_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define TabStops2_get_DefaultSpacing(This,Spacing)	\
    ( (This)->lpVtbl -> get_DefaultSpacing(This,Spacing) ) 

#define TabStops2_put_DefaultSpacing(This,Spacing)	\
    ( (This)->lpVtbl -> put_DefaultSpacing(This,Spacing) ) 

#define TabStops2_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __TabStops2_INTERFACE_DEFINED__ */


#ifndef __TabStop2_INTERFACE_DEFINED__
#define __TabStop2_INTERFACE_DEFINED__

/* interface TabStop2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_TabStop2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03BB-0000-0000-C000-000000000046")
    TabStop2 : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ single *Position) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ single Position) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoTabStopType *Type) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ MsoTabStopType Type) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct TabStop2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            TabStop2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            TabStop2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            TabStop2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            TabStop2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            TabStop2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            TabStop2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            TabStop2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            TabStop2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            TabStop2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            TabStop2 * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            TabStop2 * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            TabStop2 * This,
            /* [retval][out] */ single *Position);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            TabStop2 * This,
            /* [in] */ single Position);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            TabStop2 * This,
            /* [retval][out] */ MsoTabStopType *Type);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            TabStop2 * This,
            /* [in] */ MsoTabStopType Type);
        
        END_INTERFACE
    } TabStop2Vtbl;

    interface TabStop2
    {
        CONST_VTBL struct TabStop2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define TabStop2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define TabStop2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define TabStop2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define TabStop2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define TabStop2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define TabStop2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define TabStop2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define TabStop2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define TabStop2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define TabStop2_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define TabStop2_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define TabStop2_get_Position(This,Position)	\
    ( (This)->lpVtbl -> get_Position(This,Position) ) 

#define TabStop2_put_Position(This,Position)	\
    ( (This)->lpVtbl -> put_Position(This,Position) ) 

#define TabStop2_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define TabStop2_put_Type(This,Type)	\
    ( (This)->lpVtbl -> put_Type(This,Type) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __TabStop2_INTERFACE_DEFINED__ */


#ifndef __Ruler2_INTERFACE_DEFINED__
#define __Ruler2_INTERFACE_DEFINED__

/* interface Ruler2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_Ruler2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03C1-0000-0000-C000-000000000046")
    Ruler2 : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Levels( 
            /* [retval][out] */ RulerLevels2 **RulerLevels) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TabStops( 
            /* [retval][out] */ TabStops2 **TabStops) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct Ruler2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Ruler2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Ruler2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Ruler2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Ruler2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Ruler2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Ruler2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Ruler2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Ruler2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Ruler2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            Ruler2 * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Levels )( 
            Ruler2 * This,
            /* [retval][out] */ RulerLevels2 **RulerLevels);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TabStops )( 
            Ruler2 * This,
            /* [retval][out] */ TabStops2 **TabStops);
        
        END_INTERFACE
    } Ruler2Vtbl;

    interface Ruler2
    {
        CONST_VTBL struct Ruler2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Ruler2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define Ruler2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define Ruler2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define Ruler2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define Ruler2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define Ruler2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define Ruler2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define Ruler2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Ruler2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Ruler2_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define Ruler2_get_Levels(This,RulerLevels)	\
    ( (This)->lpVtbl -> get_Levels(This,RulerLevels) ) 

#define Ruler2_get_TabStops(This,TabStops)	\
    ( (This)->lpVtbl -> get_TabStops(This,TabStops) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Ruler2_INTERFACE_DEFINED__ */


#ifndef __RulerLevels2_INTERFACE_DEFINED__
#define __RulerLevels2_INTERFACE_DEFINED__

/* interface RulerLevels2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_RulerLevels2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03C2-0000-0000-C000-000000000046")
    RulerLevels2 : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ RulerLevel2 **RulerLevel) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct RulerLevels2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            RulerLevels2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            RulerLevels2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            RulerLevels2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            RulerLevels2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            RulerLevels2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            RulerLevels2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            RulerLevels2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            RulerLevels2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            RulerLevels2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            RulerLevels2 * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            RulerLevels2 * This,
            /* [retval][out] */ int *Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            RulerLevels2 * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ RulerLevel2 **RulerLevel);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            RulerLevels2 * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        END_INTERFACE
    } RulerLevels2Vtbl;

    interface RulerLevels2
    {
        CONST_VTBL struct RulerLevels2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define RulerLevels2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define RulerLevels2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define RulerLevels2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define RulerLevels2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define RulerLevels2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define RulerLevels2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define RulerLevels2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define RulerLevels2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define RulerLevels2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define RulerLevels2_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define RulerLevels2_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define RulerLevels2_Item(This,Index,RulerLevel)	\
    ( (This)->lpVtbl -> Item(This,Index,RulerLevel) ) 

#define RulerLevels2_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __RulerLevels2_INTERFACE_DEFINED__ */


#ifndef __RulerLevel2_INTERFACE_DEFINED__
#define __RulerLevel2_INTERFACE_DEFINED__

/* interface RulerLevel2 */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_RulerLevel2;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03C3-0000-0000-C000-000000000046")
    RulerLevel2 : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_FirstMargin( 
            /* [retval][out] */ single *FirstMargin) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_FirstMargin( 
            /* [in] */ single FirstMargin) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_LeftMargin( 
            /* [retval][out] */ single *LeftMargin) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_LeftMargin( 
            /* [in] */ single LeftMargin) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct RulerLevel2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            RulerLevel2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            RulerLevel2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            RulerLevel2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            RulerLevel2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            RulerLevel2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            RulerLevel2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            RulerLevel2 * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            RulerLevel2 * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            RulerLevel2 * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            RulerLevel2 * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FirstMargin )( 
            RulerLevel2 * This,
            /* [retval][out] */ single *FirstMargin);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FirstMargin )( 
            RulerLevel2 * This,
            /* [in] */ single FirstMargin);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LeftMargin )( 
            RulerLevel2 * This,
            /* [retval][out] */ single *LeftMargin);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LeftMargin )( 
            RulerLevel2 * This,
            /* [in] */ single LeftMargin);
        
        END_INTERFACE
    } RulerLevel2Vtbl;

    interface RulerLevel2
    {
        CONST_VTBL struct RulerLevel2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define RulerLevel2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define RulerLevel2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define RulerLevel2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define RulerLevel2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define RulerLevel2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define RulerLevel2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define RulerLevel2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define RulerLevel2_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define RulerLevel2_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define RulerLevel2_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define RulerLevel2_get_FirstMargin(This,FirstMargin)	\
    ( (This)->lpVtbl -> get_FirstMargin(This,FirstMargin) ) 

#define RulerLevel2_put_FirstMargin(This,FirstMargin)	\
    ( (This)->lpVtbl -> put_FirstMargin(This,FirstMargin) ) 

#define RulerLevel2_get_LeftMargin(This,LeftMargin)	\
    ( (This)->lpVtbl -> get_LeftMargin(This,LeftMargin) ) 

#define RulerLevel2_put_LeftMargin(This,LeftMargin)	\
    ( (This)->lpVtbl -> put_LeftMargin(This,LeftMargin) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __RulerLevel2_INTERFACE_DEFINED__ */


#ifndef __EncryptionProvider_INTERFACE_DEFINED__
#define __EncryptionProvider_INTERFACE_DEFINED__

/* interface EncryptionProvider */
/* [object][oleautomation][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_EncryptionProvider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000CD809-0000-0000-C000-000000000046")
    EncryptionProvider : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetProviderDetail( 
            /* [in] */ EncryptionProviderDetail encprovdet,
            /* [retval][out] */ VARIANT *pvar) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE NewSession( 
            /* [in] */ IUnknown *ParentWindow,
            /* [retval][out] */ int *SessionHandle) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Authenticate( 
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ IUnknown *EncryptionData,
            /* [out] */ unsigned int *PermissionsMask,
            /* [retval][out] */ int *SessionHandle) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CloneSession( 
            /* [in] */ int SessionHandle,
            /* [retval][out] */ int *SessionHandleClone) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE EndSession( 
            /* [in] */ int SessionHandle) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ int SessionHandle,
            /* [in] */ IUnknown *EncryptionData,
            /* [retval][out] */ int *EncryptionDataSize) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE EncryptStream( 
            /* [in] */ int SessionHandle,
            /* [in] */ BSTR StreamName,
            /* [in] */ IUnknown *UnencryptedStream,
            /* [in] */ IUnknown *EncryptedStream) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE DecryptStream( 
            /* [in] */ int SessionHandle,
            /* [in] */ BSTR StreamName,
            /* [in] */ IUnknown *EncryptedStream,
            /* [in] */ IUnknown *UnencryptedStream) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ShowSettings( 
            /* [in] */ int SessionHandle,
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ VARIANT_BOOL ReadOnly,
            /* [out] */ VARIANT_BOOL *Remove) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct EncryptionProviderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            EncryptionProvider * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            EncryptionProvider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            EncryptionProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            EncryptionProvider * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            EncryptionProvider * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            EncryptionProvider * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            EncryptionProvider * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetProviderDetail )( 
            EncryptionProvider * This,
            /* [in] */ EncryptionProviderDetail encprovdet,
            /* [retval][out] */ VARIANT *pvar);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *NewSession )( 
            EncryptionProvider * This,
            /* [in] */ IUnknown *ParentWindow,
            /* [retval][out] */ int *SessionHandle);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Authenticate )( 
            EncryptionProvider * This,
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ IUnknown *EncryptionData,
            /* [out] */ unsigned int *PermissionsMask,
            /* [retval][out] */ int *SessionHandle);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CloneSession )( 
            EncryptionProvider * This,
            /* [in] */ int SessionHandle,
            /* [retval][out] */ int *SessionHandleClone);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *EndSession )( 
            EncryptionProvider * This,
            /* [in] */ int SessionHandle);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            EncryptionProvider * This,
            /* [in] */ int SessionHandle,
            /* [in] */ IUnknown *EncryptionData,
            /* [retval][out] */ int *EncryptionDataSize);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *EncryptStream )( 
            EncryptionProvider * This,
            /* [in] */ int SessionHandle,
            /* [in] */ BSTR StreamName,
            /* [in] */ IUnknown *UnencryptedStream,
            /* [in] */ IUnknown *EncryptedStream);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *DecryptStream )( 
            EncryptionProvider * This,
            /* [in] */ int SessionHandle,
            /* [in] */ BSTR StreamName,
            /* [in] */ IUnknown *EncryptedStream,
            /* [in] */ IUnknown *UnencryptedStream);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ShowSettings )( 
            EncryptionProvider * This,
            /* [in] */ int SessionHandle,
            /* [in] */ IUnknown *ParentWindow,
            /* [in] */ VARIANT_BOOL ReadOnly,
            /* [out] */ VARIANT_BOOL *Remove);
        
        END_INTERFACE
    } EncryptionProviderVtbl;

    interface EncryptionProvider
    {
        CONST_VTBL struct EncryptionProviderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define EncryptionProvider_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define EncryptionProvider_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define EncryptionProvider_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define EncryptionProvider_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define EncryptionProvider_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define EncryptionProvider_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define EncryptionProvider_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define EncryptionProvider_GetProviderDetail(This,encprovdet,pvar)	\
    ( (This)->lpVtbl -> GetProviderDetail(This,encprovdet,pvar) ) 

#define EncryptionProvider_NewSession(This,ParentWindow,SessionHandle)	\
    ( (This)->lpVtbl -> NewSession(This,ParentWindow,SessionHandle) ) 

#define EncryptionProvider_Authenticate(This,ParentWindow,EncryptionData,PermissionsMask,SessionHandle)	\
    ( (This)->lpVtbl -> Authenticate(This,ParentWindow,EncryptionData,PermissionsMask,SessionHandle) ) 

#define EncryptionProvider_CloneSession(This,SessionHandle,SessionHandleClone)	\
    ( (This)->lpVtbl -> CloneSession(This,SessionHandle,SessionHandleClone) ) 

#define EncryptionProvider_EndSession(This,SessionHandle)	\
    ( (This)->lpVtbl -> EndSession(This,SessionHandle) ) 

#define EncryptionProvider_Save(This,SessionHandle,EncryptionData,EncryptionDataSize)	\
    ( (This)->lpVtbl -> Save(This,SessionHandle,EncryptionData,EncryptionDataSize) ) 

#define EncryptionProvider_EncryptStream(This,SessionHandle,StreamName,UnencryptedStream,EncryptedStream)	\
    ( (This)->lpVtbl -> EncryptStream(This,SessionHandle,StreamName,UnencryptedStream,EncryptedStream) ) 

#define EncryptionProvider_DecryptStream(This,SessionHandle,StreamName,EncryptedStream,UnencryptedStream)	\
    ( (This)->lpVtbl -> DecryptStream(This,SessionHandle,StreamName,EncryptedStream,UnencryptedStream) ) 

#define EncryptionProvider_ShowSettings(This,SessionHandle,ParentWindow,ReadOnly,Remove)	\
    ( (This)->lpVtbl -> ShowSettings(This,SessionHandle,ParentWindow,ReadOnly,Remove) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __EncryptionProvider_INTERFACE_DEFINED__ */


#ifndef __IBlogExtensibility_INTERFACE_DEFINED__
#define __IBlogExtensibility_INTERFACE_DEFINED__

/* interface IBlogExtensibility */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_IBlogExtensibility;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03C4-0000-0000-C000-000000000046")
    IBlogExtensibility : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE BlogProviderProperties( 
            /* [out] */ BSTR *BlogProvider,
            /* [out] */ BSTR *FriendlyName,
            /* [out] */ MsoBlogCategorySupport *CategorySupport,
            /* [out] */ VARIANT_BOOL *Padding) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetupBlogAccount( 
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [in] */ VARIANT_BOOL NewAccount,
            /* [out] */ VARIANT_BOOL *ShowPictureUI) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetUserBlogs( 
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [out] */ SAFEARRAY * *BlogNames,
            /* [out] */ SAFEARRAY * *BlogIDs,
            /* [out] */ SAFEARRAY * *BlogURLs) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetRecentPosts( 
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [out] */ SAFEARRAY * *PostTitles,
            /* [out] */ SAFEARRAY * *PostDates,
            /* [out] */ SAFEARRAY * *PostIDs) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [in] */ BSTR Account,
            /* [in] */ BSTR PostID,
            /* [in] */ long ParentWindow,
            /* [out] */ BSTR *xHTML,
            /* [out] */ BSTR *Title,
            /* [out] */ BSTR *DatePosted,
            /* [out] */ SAFEARRAY * *Categories) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE PublishPost( 
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [in] */ BSTR xHTML,
            /* [in] */ BSTR Title,
            /* [in] */ BSTR DateTime,
            /* [in] */ SAFEARRAY * Categories,
            /* [in] */ VARIANT_BOOL Draft,
            /* [out] */ BSTR *PostID,
            /* [out] */ BSTR *PublishMessage) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE RepublishPost( 
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [in] */ BSTR PostID,
            /* [in] */ BSTR xHTML,
            /* [in] */ BSTR Title,
            /* [in] */ BSTR DateTime,
            /* [in] */ SAFEARRAY * Categories,
            /* [in] */ VARIANT_BOOL Draft,
            /* [out] */ BSTR *PublishMessage) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCategories( 
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [out] */ SAFEARRAY * *Categories) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBlogExtensibilityVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IBlogExtensibility * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IBlogExtensibility * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IBlogExtensibility * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IBlogExtensibility * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IBlogExtensibility * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IBlogExtensibility * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IBlogExtensibility * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *BlogProviderProperties )( 
            IBlogExtensibility * This,
            /* [out] */ BSTR *BlogProvider,
            /* [out] */ BSTR *FriendlyName,
            /* [out] */ MsoBlogCategorySupport *CategorySupport,
            /* [out] */ VARIANT_BOOL *Padding);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetupBlogAccount )( 
            IBlogExtensibility * This,
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [in] */ VARIANT_BOOL NewAccount,
            /* [out] */ VARIANT_BOOL *ShowPictureUI);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetUserBlogs )( 
            IBlogExtensibility * This,
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [out] */ SAFEARRAY * *BlogNames,
            /* [out] */ SAFEARRAY * *BlogIDs,
            /* [out] */ SAFEARRAY * *BlogURLs);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetRecentPosts )( 
            IBlogExtensibility * This,
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [out] */ SAFEARRAY * *PostTitles,
            /* [out] */ SAFEARRAY * *PostDates,
            /* [out] */ SAFEARRAY * *PostIDs);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IBlogExtensibility * This,
            /* [in] */ BSTR Account,
            /* [in] */ BSTR PostID,
            /* [in] */ long ParentWindow,
            /* [out] */ BSTR *xHTML,
            /* [out] */ BSTR *Title,
            /* [out] */ BSTR *DatePosted,
            /* [out] */ SAFEARRAY * *Categories);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *PublishPost )( 
            IBlogExtensibility * This,
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [in] */ BSTR xHTML,
            /* [in] */ BSTR Title,
            /* [in] */ BSTR DateTime,
            /* [in] */ SAFEARRAY * Categories,
            /* [in] */ VARIANT_BOOL Draft,
            /* [out] */ BSTR *PostID,
            /* [out] */ BSTR *PublishMessage);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RepublishPost )( 
            IBlogExtensibility * This,
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [in] */ BSTR PostID,
            /* [in] */ BSTR xHTML,
            /* [in] */ BSTR Title,
            /* [in] */ BSTR DateTime,
            /* [in] */ SAFEARRAY * Categories,
            /* [in] */ VARIANT_BOOL Draft,
            /* [out] */ BSTR *PublishMessage);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCategories )( 
            IBlogExtensibility * This,
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [out] */ SAFEARRAY * *Categories);
        
        END_INTERFACE
    } IBlogExtensibilityVtbl;

    interface IBlogExtensibility
    {
        CONST_VTBL struct IBlogExtensibilityVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBlogExtensibility_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IBlogExtensibility_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IBlogExtensibility_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IBlogExtensibility_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IBlogExtensibility_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IBlogExtensibility_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IBlogExtensibility_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IBlogExtensibility_BlogProviderProperties(This,BlogProvider,FriendlyName,CategorySupport,Padding)	\
    ( (This)->lpVtbl -> BlogProviderProperties(This,BlogProvider,FriendlyName,CategorySupport,Padding) ) 

#define IBlogExtensibility_SetupBlogAccount(This,Account,ParentWindow,Document,NewAccount,ShowPictureUI)	\
    ( (This)->lpVtbl -> SetupBlogAccount(This,Account,ParentWindow,Document,NewAccount,ShowPictureUI) ) 

#define IBlogExtensibility_GetUserBlogs(This,Account,ParentWindow,Document,BlogNames,BlogIDs,BlogURLs)	\
    ( (This)->lpVtbl -> GetUserBlogs(This,Account,ParentWindow,Document,BlogNames,BlogIDs,BlogURLs) ) 

#define IBlogExtensibility_GetRecentPosts(This,Account,ParentWindow,Document,PostTitles,PostDates,PostIDs)	\
    ( (This)->lpVtbl -> GetRecentPosts(This,Account,ParentWindow,Document,PostTitles,PostDates,PostIDs) ) 

#define IBlogExtensibility_Open(This,Account,PostID,ParentWindow,xHTML,Title,DatePosted,Categories)	\
    ( (This)->lpVtbl -> Open(This,Account,PostID,ParentWindow,xHTML,Title,DatePosted,Categories) ) 

#define IBlogExtensibility_PublishPost(This,Account,ParentWindow,Document,xHTML,Title,DateTime,Categories,Draft,PostID,PublishMessage)	\
    ( (This)->lpVtbl -> PublishPost(This,Account,ParentWindow,Document,xHTML,Title,DateTime,Categories,Draft,PostID,PublishMessage) ) 

#define IBlogExtensibility_RepublishPost(This,Account,ParentWindow,Document,PostID,xHTML,Title,DateTime,Categories,Draft,PublishMessage)	\
    ( (This)->lpVtbl -> RepublishPost(This,Account,ParentWindow,Document,PostID,xHTML,Title,DateTime,Categories,Draft,PublishMessage) ) 

#define IBlogExtensibility_GetCategories(This,Account,ParentWindow,Document,Categories)	\
    ( (This)->lpVtbl -> GetCategories(This,Account,ParentWindow,Document,Categories) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IBlogExtensibility_INTERFACE_DEFINED__ */


#ifndef __IBlogPictureExtensibility_INTERFACE_DEFINED__
#define __IBlogPictureExtensibility_INTERFACE_DEFINED__

/* interface IBlogPictureExtensibility */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_IBlogPictureExtensibility;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03C5-0000-0000-C000-000000000046")
    IBlogPictureExtensibility : public IDispatch
    {
    public:
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE BlogPictureProviderProperties( 
            /* [out] */ BSTR *BlogPictureProvider,
            /* [out] */ BSTR *FriendlyName) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CreatePictureAccount( 
            /* [in] */ BSTR Account,
            /* [in] */ BSTR BlogProvider,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE PublishPicture( 
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [in] */ IUnknown *Image,
            /* [out] */ BSTR *PictureURI,
            /* [in] */ long ImageType) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IBlogPictureExtensibilityVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IBlogPictureExtensibility * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IBlogPictureExtensibility * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IBlogPictureExtensibility * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IBlogPictureExtensibility * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IBlogPictureExtensibility * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IBlogPictureExtensibility * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IBlogPictureExtensibility * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *BlogPictureProviderProperties )( 
            IBlogPictureExtensibility * This,
            /* [out] */ BSTR *BlogPictureProvider,
            /* [out] */ BSTR *FriendlyName);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CreatePictureAccount )( 
            IBlogPictureExtensibility * This,
            /* [in] */ BSTR Account,
            /* [in] */ BSTR BlogProvider,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *PublishPicture )( 
            IBlogPictureExtensibility * This,
            /* [in] */ BSTR Account,
            /* [in] */ long ParentWindow,
            /* [in] */ IDispatch *Document,
            /* [in] */ IUnknown *Image,
            /* [out] */ BSTR *PictureURI,
            /* [in] */ long ImageType);
        
        END_INTERFACE
    } IBlogPictureExtensibilityVtbl;

    interface IBlogPictureExtensibility
    {
        CONST_VTBL struct IBlogPictureExtensibilityVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IBlogPictureExtensibility_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IBlogPictureExtensibility_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IBlogPictureExtensibility_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IBlogPictureExtensibility_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IBlogPictureExtensibility_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IBlogPictureExtensibility_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IBlogPictureExtensibility_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IBlogPictureExtensibility_BlogPictureProviderProperties(This,BlogPictureProvider,FriendlyName)	\
    ( (This)->lpVtbl -> BlogPictureProviderProperties(This,BlogPictureProvider,FriendlyName) ) 

#define IBlogPictureExtensibility_CreatePictureAccount(This,Account,BlogProvider,ParentWindow,Document)	\
    ( (This)->lpVtbl -> CreatePictureAccount(This,Account,BlogProvider,ParentWindow,Document) ) 

#define IBlogPictureExtensibility_PublishPicture(This,Account,ParentWindow,Document,Image,PictureURI,ImageType)	\
    ( (This)->lpVtbl -> PublishPicture(This,Account,ParentWindow,Document,Image,PictureURI,ImageType) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IBlogPictureExtensibility_INTERFACE_DEFINED__ */


#ifndef __IConverterPreferences_INTERFACE_DEFINED__
#define __IConverterPreferences_INTERFACE_DEFINED__

/* interface IConverterPreferences */
/* [object][oleautomation][helpcontext][uuid] */ 


extern "C++" const IID IID_IConverterPreferences;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03D4-0000-0000-C000-000000000046")
    IConverterPreferences : public IUnknown
    {
    public:
        virtual /* [helpcontext] */ HRESULT __stdcall HrGetMacroEnabled( 
            /* [out] */ int *pfMacroEnabled) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrCheckFormat( 
            /* [out] */ int *pFormat) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrGetLossySave( 
            /* [out] */ int *pfLossySave) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IConverterPreferencesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IConverterPreferences * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IConverterPreferences * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IConverterPreferences * This);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrGetMacroEnabled )( 
            IConverterPreferences * This,
            /* [out] */ int *pfMacroEnabled);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrCheckFormat )( 
            IConverterPreferences * This,
            /* [out] */ int *pFormat);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrGetLossySave )( 
            IConverterPreferences * This,
            /* [out] */ int *pfLossySave);
        
        END_INTERFACE
    } IConverterPreferencesVtbl;

    interface IConverterPreferences
    {
        CONST_VTBL struct IConverterPreferencesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IConverterPreferences_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IConverterPreferences_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IConverterPreferences_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IConverterPreferences_HrGetMacroEnabled(This,pfMacroEnabled)	\
    ( (This)->lpVtbl -> HrGetMacroEnabled(This,pfMacroEnabled) ) 

#define IConverterPreferences_HrCheckFormat(This,pFormat)	\
    ( (This)->lpVtbl -> HrCheckFormat(This,pFormat) ) 

#define IConverterPreferences_HrGetLossySave(This,pfLossySave)	\
    ( (This)->lpVtbl -> HrGetLossySave(This,pfLossySave) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IConverterPreferences_INTERFACE_DEFINED__ */


#ifndef __IConverterApplicationPreferences_INTERFACE_DEFINED__
#define __IConverterApplicationPreferences_INTERFACE_DEFINED__

/* interface IConverterApplicationPreferences */
/* [object][oleautomation][helpcontext][uuid] */ 


extern "C++" const IID IID_IConverterApplicationPreferences;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03D5-0000-0000-C000-000000000046")
    IConverterApplicationPreferences : public IUnknown
    {
    public:
        virtual /* [helpcontext] */ HRESULT __stdcall HrGetLcid( 
            /* [out] */ unsigned long *plcid) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrGetHwnd( 
            /* [out] */ long *phwnd) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrGetApplication( 
            /* [out] */ BSTR *pbstrApplication) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrCheckFormat( 
            /* [out] */ int *pFormat) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IConverterApplicationPreferencesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IConverterApplicationPreferences * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IConverterApplicationPreferences * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IConverterApplicationPreferences * This);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrGetLcid )( 
            IConverterApplicationPreferences * This,
            /* [out] */ unsigned long *plcid);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrGetHwnd )( 
            IConverterApplicationPreferences * This,
            /* [out] */ long *phwnd);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrGetApplication )( 
            IConverterApplicationPreferences * This,
            /* [out] */ BSTR *pbstrApplication);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrCheckFormat )( 
            IConverterApplicationPreferences * This,
            /* [out] */ int *pFormat);
        
        END_INTERFACE
    } IConverterApplicationPreferencesVtbl;

    interface IConverterApplicationPreferences
    {
        CONST_VTBL struct IConverterApplicationPreferencesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IConverterApplicationPreferences_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IConverterApplicationPreferences_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IConverterApplicationPreferences_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IConverterApplicationPreferences_HrGetLcid(This,plcid)	\
    ( (This)->lpVtbl -> HrGetLcid(This,plcid) ) 

#define IConverterApplicationPreferences_HrGetHwnd(This,phwnd)	\
    ( (This)->lpVtbl -> HrGetHwnd(This,phwnd) ) 

#define IConverterApplicationPreferences_HrGetApplication(This,pbstrApplication)	\
    ( (This)->lpVtbl -> HrGetApplication(This,pbstrApplication) ) 

#define IConverterApplicationPreferences_HrCheckFormat(This,pFormat)	\
    ( (This)->lpVtbl -> HrCheckFormat(This,pFormat) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IConverterApplicationPreferences_INTERFACE_DEFINED__ */


#ifndef __IConverterUICallback_INTERFACE_DEFINED__
#define __IConverterUICallback_INTERFACE_DEFINED__

/* interface IConverterUICallback */
/* [object][oleautomation][helpcontext][uuid] */ 


extern "C++" const IID IID_IConverterUICallback;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03D6-0000-0000-C000-000000000046")
    IConverterUICallback : public IUnknown
    {
    public:
        virtual /* [helpcontext] */ HRESULT __stdcall HrReportProgress( 
            /* [in] */ unsigned int uPercentComplete) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrMessageBox( 
            /* [in] */ BSTR bstrText,
            /* [in] */ BSTR bstrCaption,
            /* [in] */ unsigned int uType,
            /* [out] */ int *pidResult) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrInputBox( 
            /* [in] */ BSTR bstrText,
            /* [in] */ BSTR bstrCaption,
            /* [out] */ BSTR *pbstrInput,
            /* [in] */ int fPassword) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IConverterUICallbackVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IConverterUICallback * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IConverterUICallback * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IConverterUICallback * This);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrReportProgress )( 
            IConverterUICallback * This,
            /* [in] */ unsigned int uPercentComplete);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrMessageBox )( 
            IConverterUICallback * This,
            /* [in] */ BSTR bstrText,
            /* [in] */ BSTR bstrCaption,
            /* [in] */ unsigned int uType,
            /* [out] */ int *pidResult);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrInputBox )( 
            IConverterUICallback * This,
            /* [in] */ BSTR bstrText,
            /* [in] */ BSTR bstrCaption,
            /* [out] */ BSTR *pbstrInput,
            /* [in] */ int fPassword);
        
        END_INTERFACE
    } IConverterUICallbackVtbl;

    interface IConverterUICallback
    {
        CONST_VTBL struct IConverterUICallbackVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IConverterUICallback_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IConverterUICallback_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IConverterUICallback_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IConverterUICallback_HrReportProgress(This,uPercentComplete)	\
    ( (This)->lpVtbl -> HrReportProgress(This,uPercentComplete) ) 

#define IConverterUICallback_HrMessageBox(This,bstrText,bstrCaption,uType,pidResult)	\
    ( (This)->lpVtbl -> HrMessageBox(This,bstrText,bstrCaption,uType,pidResult) ) 

#define IConverterUICallback_HrInputBox(This,bstrText,bstrCaption,pbstrInput,fPassword)	\
    ( (This)->lpVtbl -> HrInputBox(This,bstrText,bstrCaption,pbstrInput,fPassword) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IConverterUICallback_INTERFACE_DEFINED__ */


#ifndef __IConverter_INTERFACE_DEFINED__
#define __IConverter_INTERFACE_DEFINED__

/* interface IConverter */
/* [object][oleautomation][helpcontext][uuid] */ 


extern "C++" const IID IID_IConverter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03D7-0000-0000-C000-000000000046")
    IConverter : public IUnknown
    {
    public:
        virtual /* [helpcontext] */ HRESULT __stdcall HrInitConverter( 
            /* [in] */ IConverterApplicationPreferences *pcap,
            /* [out] */ IConverterPreferences **ppcp,
            /* [in] */ IConverterUICallback *pcuic) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrUninitConverter( 
            /* [in] */ IConverterUICallback *pcuic) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrImport( 
            /* [in] */ BSTR bstrSourcePath,
            /* [in] */ BSTR bstrDestPath,
            /* [in] */ IConverterApplicationPreferences *pcap,
            /* [out] */ IConverterPreferences **ppcp,
            /* [in] */ IConverterUICallback *pcuic) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrExport( 
            /* [in] */ BSTR bstrSourcePath,
            /* [in] */ BSTR bstrDestPath,
            /* [in] */ BSTR bstrClass,
            /* [in] */ IConverterApplicationPreferences *pcap,
            /* [out] */ IConverterPreferences **ppcp,
            /* [in] */ IConverterUICallback *pcuic) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrGetFormat( 
            /* [in] */ BSTR bstrPath,
            /* [out] */ BSTR *pbstrClass,
            /* [in] */ IConverterApplicationPreferences *pcap,
            /* [out] */ IConverterPreferences **ppcp,
            /* [in] */ IConverterUICallback *pcuic) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall HrGetErrorString( 
            /* [in] */ long hrErr,
            /* [out] */ BSTR *pbstrErrorMsg,
            /* [in] */ IConverterApplicationPreferences *pcap) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IConverterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IConverter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IConverter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IConverter * This);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrInitConverter )( 
            IConverter * This,
            /* [in] */ IConverterApplicationPreferences *pcap,
            /* [out] */ IConverterPreferences **ppcp,
            /* [in] */ IConverterUICallback *pcuic);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrUninitConverter )( 
            IConverter * This,
            /* [in] */ IConverterUICallback *pcuic);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrImport )( 
            IConverter * This,
            /* [in] */ BSTR bstrSourcePath,
            /* [in] */ BSTR bstrDestPath,
            /* [in] */ IConverterApplicationPreferences *pcap,
            /* [out] */ IConverterPreferences **ppcp,
            /* [in] */ IConverterUICallback *pcuic);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrExport )( 
            IConverter * This,
            /* [in] */ BSTR bstrSourcePath,
            /* [in] */ BSTR bstrDestPath,
            /* [in] */ BSTR bstrClass,
            /* [in] */ IConverterApplicationPreferences *pcap,
            /* [out] */ IConverterPreferences **ppcp,
            /* [in] */ IConverterUICallback *pcuic);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrGetFormat )( 
            IConverter * This,
            /* [in] */ BSTR bstrPath,
            /* [out] */ BSTR *pbstrClass,
            /* [in] */ IConverterApplicationPreferences *pcap,
            /* [out] */ IConverterPreferences **ppcp,
            /* [in] */ IConverterUICallback *pcuic);
        
        /* [helpcontext] */ HRESULT ( __stdcall *HrGetErrorString )( 
            IConverter * This,
            /* [in] */ long hrErr,
            /* [out] */ BSTR *pbstrErrorMsg,
            /* [in] */ IConverterApplicationPreferences *pcap);
        
        END_INTERFACE
    } IConverterVtbl;

    interface IConverter
    {
        CONST_VTBL struct IConverterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IConverter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IConverter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IConverter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IConverter_HrInitConverter(This,pcap,ppcp,pcuic)	\
    ( (This)->lpVtbl -> HrInitConverter(This,pcap,ppcp,pcuic) ) 

#define IConverter_HrUninitConverter(This,pcuic)	\
    ( (This)->lpVtbl -> HrUninitConverter(This,pcuic) ) 

#define IConverter_HrImport(This,bstrSourcePath,bstrDestPath,pcap,ppcp,pcuic)	\
    ( (This)->lpVtbl -> HrImport(This,bstrSourcePath,bstrDestPath,pcap,ppcp,pcuic) ) 

#define IConverter_HrExport(This,bstrSourcePath,bstrDestPath,bstrClass,pcap,ppcp,pcuic)	\
    ( (This)->lpVtbl -> HrExport(This,bstrSourcePath,bstrDestPath,bstrClass,pcap,ppcp,pcuic) ) 

#define IConverter_HrGetFormat(This,bstrPath,pbstrClass,pcap,ppcp,pcuic)	\
    ( (This)->lpVtbl -> HrGetFormat(This,bstrPath,pbstrClass,pcap,ppcp,pcuic) ) 

#define IConverter_HrGetErrorString(This,hrErr,pbstrErrorMsg,pcap)	\
    ( (This)->lpVtbl -> HrGetErrorString(This,hrErr,pbstrErrorMsg,pcap) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IConverter_INTERFACE_DEFINED__ */


#ifndef __SmartArt_INTERFACE_DEFINED__
#define __SmartArt_INTERFACE_DEFINED__

/* interface SmartArt */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_SmartArt;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03C6-0000-0000-C000-000000000046")
    SmartArt : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_AllNodes( 
            /* [retval][out] */ SmartArtNodes **Nodes) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Nodes( 
            /* [retval][out] */ SmartArtNodes **Nodes) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Layout( 
            /* [retval][out] */ SmartArtLayout **Layout) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Layout( 
            /* [in] */ SmartArtLayout *Layout) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_QuickStyle( 
            /* [retval][out] */ SmartArtQuickStyle **Style) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_QuickStyle( 
            /* [in] */ SmartArtQuickStyle *Style) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ SmartArtColor **ColorStyle) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ SmartArtColor *ColorStyle) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Reverse( 
            /* [retval][out] */ MsoTriState *Reverse) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Reverse( 
            /* [in] */ MsoTriState Reverse) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SmartArtVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SmartArt * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SmartArt * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SmartArt * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SmartArt * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SmartArt * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SmartArt * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SmartArt * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SmartArt * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SmartArt * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SmartArt * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AllNodes )( 
            SmartArt * This,
            /* [retval][out] */ SmartArtNodes **Nodes);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Nodes )( 
            SmartArt * This,
            /* [retval][out] */ SmartArtNodes **Nodes);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Layout )( 
            SmartArt * This,
            /* [retval][out] */ SmartArtLayout **Layout);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Layout )( 
            SmartArt * This,
            /* [in] */ SmartArtLayout *Layout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_QuickStyle )( 
            SmartArt * This,
            /* [retval][out] */ SmartArtQuickStyle **Style);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_QuickStyle )( 
            SmartArt * This,
            /* [in] */ SmartArtQuickStyle *Style);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            SmartArt * This,
            /* [retval][out] */ SmartArtColor **ColorStyle);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            SmartArt * This,
            /* [in] */ SmartArtColor *ColorStyle);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Reverse )( 
            SmartArt * This,
            /* [retval][out] */ MsoTriState *Reverse);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Reverse )( 
            SmartArt * This,
            /* [in] */ MsoTriState Reverse);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            SmartArt * This);
        
        END_INTERFACE
    } SmartArtVtbl;

    interface SmartArt
    {
        CONST_VTBL struct SmartArtVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SmartArt_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SmartArt_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SmartArt_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SmartArt_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SmartArt_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SmartArt_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SmartArt_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SmartArt_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SmartArt_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SmartArt_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define SmartArt_get_AllNodes(This,Nodes)	\
    ( (This)->lpVtbl -> get_AllNodes(This,Nodes) ) 

#define SmartArt_get_Nodes(This,Nodes)	\
    ( (This)->lpVtbl -> get_Nodes(This,Nodes) ) 

#define SmartArt_get_Layout(This,Layout)	\
    ( (This)->lpVtbl -> get_Layout(This,Layout) ) 

#define SmartArt_put_Layout(This,Layout)	\
    ( (This)->lpVtbl -> put_Layout(This,Layout) ) 

#define SmartArt_get_QuickStyle(This,Style)	\
    ( (This)->lpVtbl -> get_QuickStyle(This,Style) ) 

#define SmartArt_put_QuickStyle(This,Style)	\
    ( (This)->lpVtbl -> put_QuickStyle(This,Style) ) 

#define SmartArt_get_Color(This,ColorStyle)	\
    ( (This)->lpVtbl -> get_Color(This,ColorStyle) ) 

#define SmartArt_put_Color(This,ColorStyle)	\
    ( (This)->lpVtbl -> put_Color(This,ColorStyle) ) 

#define SmartArt_get_Reverse(This,Reverse)	\
    ( (This)->lpVtbl -> get_Reverse(This,Reverse) ) 

#define SmartArt_put_Reverse(This,Reverse)	\
    ( (This)->lpVtbl -> put_Reverse(This,Reverse) ) 

#define SmartArt_Reset(This)	\
    ( (This)->lpVtbl -> Reset(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SmartArt_INTERFACE_DEFINED__ */


#ifndef __SmartArtNodes_INTERFACE_DEFINED__
#define __SmartArtNodes_INTERFACE_DEFINED__

/* interface SmartArtNodes */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_SmartArtNodes;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03C7-0000-0000-C000-000000000046")
    SmartArtNodes : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ SmartArtNode **SmartArtNode) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [retval][out] */ SmartArtNode **NewNode) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SmartArtNodesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SmartArtNodes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SmartArtNodes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SmartArtNodes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SmartArtNodes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SmartArtNodes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SmartArtNodes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SmartArtNodes * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SmartArtNodes * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SmartArtNodes * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SmartArtNodes * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SmartArtNodes * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ SmartArtNode **SmartArtNode);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SmartArtNodes * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SmartArtNodes * This,
            /* [retval][out] */ int *Count);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            SmartArtNodes * This,
            /* [retval][out] */ SmartArtNode **NewNode);
        
        END_INTERFACE
    } SmartArtNodesVtbl;

    interface SmartArtNodes
    {
        CONST_VTBL struct SmartArtNodesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SmartArtNodes_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SmartArtNodes_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SmartArtNodes_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SmartArtNodes_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SmartArtNodes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SmartArtNodes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SmartArtNodes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SmartArtNodes_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SmartArtNodes_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SmartArtNodes_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define SmartArtNodes_get_Item(This,Index,SmartArtNode)	\
    ( (This)->lpVtbl -> get_Item(This,Index,SmartArtNode) ) 

#define SmartArtNodes_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define SmartArtNodes_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define SmartArtNodes_Add(This,NewNode)	\
    ( (This)->lpVtbl -> Add(This,NewNode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SmartArtNodes_INTERFACE_DEFINED__ */


#ifndef __SmartArtNode_INTERFACE_DEFINED__
#define __SmartArtNode_INTERFACE_DEFINED__

/* interface SmartArtNode */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_SmartArtNode;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03C8-0000-0000-C000-000000000046")
    SmartArtNode : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE AddNode( 
            /* [defaultvalue][optional][in] */ MsoSmartArtNodePosition Position,
            /* [defaultvalue][optional][in] */ MsoSmartArtNodeType Type,
            /* [retval][out] */ SmartArtNode **NewNode) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Promote( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Demote( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_OrgChartLayout( 
            /* [retval][out] */ MsoOrgChartLayoutType *Type) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_OrgChartLayout( 
            /* [in] */ MsoOrgChartLayoutType Type) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Shapes( 
            /* [retval][out] */ ShapeRange **Shape) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_TextFrame2( 
            /* [retval][out] */ TextFrame2 **Frame) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Larger( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Smaller( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Level( 
            /* [retval][out] */ int *Level) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Hidden( 
            /* [retval][out] */ MsoTriState *Hidden) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Nodes( 
            /* [retval][out] */ SmartArtNodes **Nodes) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ParentNode( 
            /* [retval][out] */ SmartArtNode **Node) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoSmartArtNodeType *Type) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ReorderUp( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE ReorderDown( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SmartArtNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SmartArtNode * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SmartArtNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SmartArtNode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SmartArtNode * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SmartArtNode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SmartArtNode * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SmartArtNode * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SmartArtNode * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SmartArtNode * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SmartArtNode * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *AddNode )( 
            SmartArtNode * This,
            /* [defaultvalue][optional][in] */ MsoSmartArtNodePosition Position,
            /* [defaultvalue][optional][in] */ MsoSmartArtNodeType Type,
            /* [retval][out] */ SmartArtNode **NewNode);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            SmartArtNode * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Promote )( 
            SmartArtNode * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Demote )( 
            SmartArtNode * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_OrgChartLayout )( 
            SmartArtNode * This,
            /* [retval][out] */ MsoOrgChartLayoutType *Type);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_OrgChartLayout )( 
            SmartArtNode * This,
            /* [in] */ MsoOrgChartLayoutType Type);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Shapes )( 
            SmartArtNode * This,
            /* [retval][out] */ ShapeRange **Shape);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextFrame2 )( 
            SmartArtNode * This,
            /* [retval][out] */ TextFrame2 **Frame);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Larger )( 
            SmartArtNode * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Smaller )( 
            SmartArtNode * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Level )( 
            SmartArtNode * This,
            /* [retval][out] */ int *Level);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hidden )( 
            SmartArtNode * This,
            /* [retval][out] */ MsoTriState *Hidden);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Nodes )( 
            SmartArtNode * This,
            /* [retval][out] */ SmartArtNodes **Nodes);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ParentNode )( 
            SmartArtNode * This,
            /* [retval][out] */ SmartArtNode **Node);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            SmartArtNode * This,
            /* [retval][out] */ MsoSmartArtNodeType *Type);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ReorderUp )( 
            SmartArtNode * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *ReorderDown )( 
            SmartArtNode * This);
        
        END_INTERFACE
    } SmartArtNodeVtbl;

    interface SmartArtNode
    {
        CONST_VTBL struct SmartArtNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SmartArtNode_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SmartArtNode_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SmartArtNode_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SmartArtNode_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SmartArtNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SmartArtNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SmartArtNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SmartArtNode_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SmartArtNode_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SmartArtNode_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define SmartArtNode_AddNode(This,Position,Type,NewNode)	\
    ( (This)->lpVtbl -> AddNode(This,Position,Type,NewNode) ) 

#define SmartArtNode_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define SmartArtNode_Promote(This)	\
    ( (This)->lpVtbl -> Promote(This) ) 

#define SmartArtNode_Demote(This)	\
    ( (This)->lpVtbl -> Demote(This) ) 

#define SmartArtNode_get_OrgChartLayout(This,Type)	\
    ( (This)->lpVtbl -> get_OrgChartLayout(This,Type) ) 

#define SmartArtNode_put_OrgChartLayout(This,Type)	\
    ( (This)->lpVtbl -> put_OrgChartLayout(This,Type) ) 

#define SmartArtNode_get_Shapes(This,Shape)	\
    ( (This)->lpVtbl -> get_Shapes(This,Shape) ) 

#define SmartArtNode_get_TextFrame2(This,Frame)	\
    ( (This)->lpVtbl -> get_TextFrame2(This,Frame) ) 

#define SmartArtNode_Larger(This)	\
    ( (This)->lpVtbl -> Larger(This) ) 

#define SmartArtNode_Smaller(This)	\
    ( (This)->lpVtbl -> Smaller(This) ) 

#define SmartArtNode_get_Level(This,Level)	\
    ( (This)->lpVtbl -> get_Level(This,Level) ) 

#define SmartArtNode_get_Hidden(This,Hidden)	\
    ( (This)->lpVtbl -> get_Hidden(This,Hidden) ) 

#define SmartArtNode_get_Nodes(This,Nodes)	\
    ( (This)->lpVtbl -> get_Nodes(This,Nodes) ) 

#define SmartArtNode_get_ParentNode(This,Node)	\
    ( (This)->lpVtbl -> get_ParentNode(This,Node) ) 

#define SmartArtNode_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define SmartArtNode_ReorderUp(This)	\
    ( (This)->lpVtbl -> ReorderUp(This) ) 

#define SmartArtNode_ReorderDown(This)	\
    ( (This)->lpVtbl -> ReorderDown(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SmartArtNode_INTERFACE_DEFINED__ */


#ifndef __SmartArtLayouts_INTERFACE_DEFINED__
#define __SmartArtLayouts_INTERFACE_DEFINED__

/* interface SmartArtLayouts */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_SmartArtLayouts;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03C9-0000-0000-C000-000000000046")
    SmartArtLayouts : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ SmartArtLayout **SmartArtLayout) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SmartArtLayoutsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SmartArtLayouts * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SmartArtLayouts * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SmartArtLayouts * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SmartArtLayouts * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SmartArtLayouts * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SmartArtLayouts * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SmartArtLayouts * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SmartArtLayouts * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SmartArtLayouts * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SmartArtLayouts * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SmartArtLayouts * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ SmartArtLayout **SmartArtLayout);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SmartArtLayouts * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SmartArtLayouts * This,
            /* [retval][out] */ int *Count);
        
        END_INTERFACE
    } SmartArtLayoutsVtbl;

    interface SmartArtLayouts
    {
        CONST_VTBL struct SmartArtLayoutsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SmartArtLayouts_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SmartArtLayouts_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SmartArtLayouts_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SmartArtLayouts_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SmartArtLayouts_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SmartArtLayouts_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SmartArtLayouts_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SmartArtLayouts_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SmartArtLayouts_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SmartArtLayouts_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define SmartArtLayouts_get_Item(This,Index,SmartArtLayout)	\
    ( (This)->lpVtbl -> get_Item(This,Index,SmartArtLayout) ) 

#define SmartArtLayouts_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define SmartArtLayouts_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SmartArtLayouts_INTERFACE_DEFINED__ */


#ifndef __SmartArtLayout_INTERFACE_DEFINED__
#define __SmartArtLayout_INTERFACE_DEFINED__

/* interface SmartArtLayout */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_SmartArtLayout;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03CA-0000-0000-C000-000000000046")
    SmartArtLayout : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *LayoutId) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *Description) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Category( 
            /* [retval][out] */ BSTR *Category) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SmartArtLayoutVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SmartArtLayout * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SmartArtLayout * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SmartArtLayout * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SmartArtLayout * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SmartArtLayout * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SmartArtLayout * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SmartArtLayout * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SmartArtLayout * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SmartArtLayout * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SmartArtLayout * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            SmartArtLayout * This,
            /* [retval][out] */ BSTR *LayoutId);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            SmartArtLayout * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            SmartArtLayout * This,
            /* [retval][out] */ BSTR *Description);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
            SmartArtLayout * This,
            /* [retval][out] */ BSTR *Category);
        
        END_INTERFACE
    } SmartArtLayoutVtbl;

    interface SmartArtLayout
    {
        CONST_VTBL struct SmartArtLayoutVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SmartArtLayout_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SmartArtLayout_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SmartArtLayout_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SmartArtLayout_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SmartArtLayout_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SmartArtLayout_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SmartArtLayout_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SmartArtLayout_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SmartArtLayout_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SmartArtLayout_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define SmartArtLayout_get_Id(This,LayoutId)	\
    ( (This)->lpVtbl -> get_Id(This,LayoutId) ) 

#define SmartArtLayout_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define SmartArtLayout_get_Description(This,Description)	\
    ( (This)->lpVtbl -> get_Description(This,Description) ) 

#define SmartArtLayout_get_Category(This,Category)	\
    ( (This)->lpVtbl -> get_Category(This,Category) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SmartArtLayout_INTERFACE_DEFINED__ */


#ifndef __SmartArtQuickStyles_INTERFACE_DEFINED__
#define __SmartArtQuickStyles_INTERFACE_DEFINED__

/* interface SmartArtQuickStyles */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_SmartArtQuickStyles;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03CB-0000-0000-C000-000000000046")
    SmartArtQuickStyles : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ SmartArtQuickStyle **Style) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SmartArtQuickStylesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SmartArtQuickStyles * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SmartArtQuickStyles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SmartArtQuickStyles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SmartArtQuickStyles * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SmartArtQuickStyles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SmartArtQuickStyles * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SmartArtQuickStyles * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SmartArtQuickStyles * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SmartArtQuickStyles * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SmartArtQuickStyles * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SmartArtQuickStyles * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ SmartArtQuickStyle **Style);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SmartArtQuickStyles * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SmartArtQuickStyles * This,
            /* [retval][out] */ int *Count);
        
        END_INTERFACE
    } SmartArtQuickStylesVtbl;

    interface SmartArtQuickStyles
    {
        CONST_VTBL struct SmartArtQuickStylesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SmartArtQuickStyles_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SmartArtQuickStyles_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SmartArtQuickStyles_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SmartArtQuickStyles_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SmartArtQuickStyles_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SmartArtQuickStyles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SmartArtQuickStyles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SmartArtQuickStyles_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SmartArtQuickStyles_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SmartArtQuickStyles_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define SmartArtQuickStyles_get_Item(This,Index,Style)	\
    ( (This)->lpVtbl -> get_Item(This,Index,Style) ) 

#define SmartArtQuickStyles_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define SmartArtQuickStyles_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SmartArtQuickStyles_INTERFACE_DEFINED__ */


#ifndef __SmartArtQuickStyle_INTERFACE_DEFINED__
#define __SmartArtQuickStyle_INTERFACE_DEFINED__

/* interface SmartArtQuickStyle */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_SmartArtQuickStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03CC-0000-0000-C000-000000000046")
    SmartArtQuickStyle : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *StyleId) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *Description) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Category( 
            /* [retval][out] */ BSTR *Category) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SmartArtQuickStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SmartArtQuickStyle * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SmartArtQuickStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SmartArtQuickStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SmartArtQuickStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SmartArtQuickStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SmartArtQuickStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SmartArtQuickStyle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SmartArtQuickStyle * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SmartArtQuickStyle * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SmartArtQuickStyle * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            SmartArtQuickStyle * This,
            /* [retval][out] */ BSTR *StyleId);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            SmartArtQuickStyle * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            SmartArtQuickStyle * This,
            /* [retval][out] */ BSTR *Description);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
            SmartArtQuickStyle * This,
            /* [retval][out] */ BSTR *Category);
        
        END_INTERFACE
    } SmartArtQuickStyleVtbl;

    interface SmartArtQuickStyle
    {
        CONST_VTBL struct SmartArtQuickStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SmartArtQuickStyle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SmartArtQuickStyle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SmartArtQuickStyle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SmartArtQuickStyle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SmartArtQuickStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SmartArtQuickStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SmartArtQuickStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SmartArtQuickStyle_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SmartArtQuickStyle_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SmartArtQuickStyle_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define SmartArtQuickStyle_get_Id(This,StyleId)	\
    ( (This)->lpVtbl -> get_Id(This,StyleId) ) 

#define SmartArtQuickStyle_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define SmartArtQuickStyle_get_Description(This,Description)	\
    ( (This)->lpVtbl -> get_Description(This,Description) ) 

#define SmartArtQuickStyle_get_Category(This,Category)	\
    ( (This)->lpVtbl -> get_Category(This,Category) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SmartArtQuickStyle_INTERFACE_DEFINED__ */


#ifndef __SmartArtColors_INTERFACE_DEFINED__
#define __SmartArtColors_INTERFACE_DEFINED__

/* interface SmartArtColors */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_SmartArtColors;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03CD-0000-0000-C000-000000000046")
    SmartArtColors : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ SmartArtColor **SmartArtColor) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SmartArtColorsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SmartArtColors * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SmartArtColors * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SmartArtColors * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SmartArtColors * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SmartArtColors * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SmartArtColors * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SmartArtColors * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SmartArtColors * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SmartArtColors * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            SmartArtColors * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            SmartArtColors * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ SmartArtColor **SmartArtColor);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SmartArtColors * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            SmartArtColors * This,
            /* [retval][out] */ int *Count);
        
        END_INTERFACE
    } SmartArtColorsVtbl;

    interface SmartArtColors
    {
        CONST_VTBL struct SmartArtColorsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SmartArtColors_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SmartArtColors_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SmartArtColors_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SmartArtColors_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SmartArtColors_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SmartArtColors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SmartArtColors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SmartArtColors_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SmartArtColors_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SmartArtColors_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define SmartArtColors_get_Item(This,Index,SmartArtColor)	\
    ( (This)->lpVtbl -> get_Item(This,Index,SmartArtColor) ) 

#define SmartArtColors_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define SmartArtColors_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SmartArtColors_INTERFACE_DEFINED__ */


#ifndef __SmartArtColor_INTERFACE_DEFINED__
#define __SmartArtColor_INTERFACE_DEFINED__

/* interface SmartArtColor */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_SmartArtColor;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03CE-0000-0000-C000-000000000046")
    SmartArtColor : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **Parent) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *ColorStyleId) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *Description) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Category( 
            /* [retval][out] */ BSTR *Category) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct SmartArtColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            SmartArtColor * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            SmartArtColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            SmartArtColor * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            SmartArtColor * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            SmartArtColor * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            SmartArtColor * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            SmartArtColor * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            SmartArtColor * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            SmartArtColor * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            SmartArtColor * This,
            /* [retval][out] */ IDispatch **Parent);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            SmartArtColor * This,
            /* [retval][out] */ BSTR *ColorStyleId);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            SmartArtColor * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            SmartArtColor * This,
            /* [retval][out] */ BSTR *Description);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Category )( 
            SmartArtColor * This,
            /* [retval][out] */ BSTR *Category);
        
        END_INTERFACE
    } SmartArtColorVtbl;

    interface SmartArtColor
    {
        CONST_VTBL struct SmartArtColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define SmartArtColor_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define SmartArtColor_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define SmartArtColor_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define SmartArtColor_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define SmartArtColor_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define SmartArtColor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define SmartArtColor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define SmartArtColor_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define SmartArtColor_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define SmartArtColor_get_Parent(This,Parent)	\
    ( (This)->lpVtbl -> get_Parent(This,Parent) ) 

#define SmartArtColor_get_Id(This,ColorStyleId)	\
    ( (This)->lpVtbl -> get_Id(This,ColorStyleId) ) 

#define SmartArtColor_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define SmartArtColor_get_Description(This,Description)	\
    ( (This)->lpVtbl -> get_Description(This,Description) ) 

#define SmartArtColor_get_Category(This,Category)	\
    ( (This)->lpVtbl -> get_Category(This,Category) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __SmartArtColor_INTERFACE_DEFINED__ */


#ifndef __PickerField_INTERFACE_DEFINED__
#define __PickerField_INTERFACE_DEFINED__

/* interface PickerField */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_PickerField;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03E0-0000-0000-C000-000000000046")
    PickerField : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoPickerField *Type) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsHidden( 
            /* [retval][out] */ VARIANT_BOOL *IsHidden) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PickerFieldVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PickerField * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PickerField * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PickerField * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PickerField * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PickerField * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PickerField * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PickerField * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PickerField * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PickerField * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            PickerField * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            PickerField * This,
            /* [retval][out] */ MsoPickerField *Type);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsHidden )( 
            PickerField * This,
            /* [retval][out] */ VARIANT_BOOL *IsHidden);
        
        END_INTERFACE
    } PickerFieldVtbl;

    interface PickerField
    {
        CONST_VTBL struct PickerFieldVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define PickerField_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define PickerField_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define PickerField_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define PickerField_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define PickerField_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define PickerField_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define PickerField_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define PickerField_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PickerField_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PickerField_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define PickerField_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define PickerField_get_IsHidden(This,IsHidden)	\
    ( (This)->lpVtbl -> get_IsHidden(This,IsHidden) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PickerField_INTERFACE_DEFINED__ */


#ifndef __PickerFields_INTERFACE_DEFINED__
#define __PickerFields_INTERFACE_DEFINED__

/* interface PickerFields */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_PickerFields;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03E1-0000-0000-C000-000000000046")
    PickerFields : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ PickerField **Field) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *Count) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PickerFieldsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PickerFields * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PickerFields * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PickerFields * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PickerFields * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PickerFields * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PickerFields * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PickerFields * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PickerFields * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PickerFields * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            PickerFields * This,
            /* [in] */ int Index,
            /* [retval][out] */ PickerField **Field);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            PickerFields * This,
            /* [retval][out] */ long *Count);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            PickerFields * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        END_INTERFACE
    } PickerFieldsVtbl;

    interface PickerFields
    {
        CONST_VTBL struct PickerFieldsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define PickerFields_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define PickerFields_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define PickerFields_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define PickerFields_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define PickerFields_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define PickerFields_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define PickerFields_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define PickerFields_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PickerFields_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PickerFields_get_Item(This,Index,Field)	\
    ( (This)->lpVtbl -> get_Item(This,Index,Field) ) 

#define PickerFields_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define PickerFields_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PickerFields_INTERFACE_DEFINED__ */


#ifndef __PickerProperty_INTERFACE_DEFINED__
#define __PickerProperty_INTERFACE_DEFINED__

/* interface PickerProperty */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_PickerProperty;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03E2-0000-0000-C000-000000000046")
    PickerProperty : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *Id) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT *Value) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoPickerField *Type) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PickerPropertyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PickerProperty * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PickerProperty * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PickerProperty * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PickerProperty * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PickerProperty * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PickerProperty * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PickerProperty * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PickerProperty * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PickerProperty * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            PickerProperty * This,
            /* [retval][out] */ BSTR *Id);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            PickerProperty * This,
            /* [retval][out] */ VARIANT *Value);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            PickerProperty * This,
            /* [retval][out] */ MsoPickerField *Type);
        
        END_INTERFACE
    } PickerPropertyVtbl;

    interface PickerProperty
    {
        CONST_VTBL struct PickerPropertyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define PickerProperty_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define PickerProperty_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define PickerProperty_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define PickerProperty_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define PickerProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define PickerProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define PickerProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define PickerProperty_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PickerProperty_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PickerProperty_get_Id(This,Id)	\
    ( (This)->lpVtbl -> get_Id(This,Id) ) 

#define PickerProperty_get_Value(This,Value)	\
    ( (This)->lpVtbl -> get_Value(This,Value) ) 

#define PickerProperty_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PickerProperty_INTERFACE_DEFINED__ */


#ifndef __PickerProperties_INTERFACE_DEFINED__
#define __PickerProperties_INTERFACE_DEFINED__

/* interface PickerProperties */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_PickerProperties;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03E3-0000-0000-C000-000000000046")
    PickerProperties : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ PickerProperty **prop) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *Count) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Id,
            /* [in] */ BSTR Value,
            /* [in] */ MsoPickerField Type,
            /* [retval][out] */ PickerProperty **prop) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ BSTR Id) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PickerPropertiesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PickerProperties * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PickerProperties * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PickerProperties * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PickerProperties * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PickerProperties * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PickerProperties * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PickerProperties * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PickerProperties * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PickerProperties * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            PickerProperties * This,
            /* [in] */ int Index,
            /* [retval][out] */ PickerProperty **prop);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            PickerProperties * This,
            /* [retval][out] */ long *Count);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            PickerProperties * This,
            /* [in] */ BSTR Id,
            /* [in] */ BSTR Value,
            /* [in] */ MsoPickerField Type,
            /* [retval][out] */ PickerProperty **prop);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            PickerProperties * This,
            /* [in] */ BSTR Id);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            PickerProperties * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        END_INTERFACE
    } PickerPropertiesVtbl;

    interface PickerProperties
    {
        CONST_VTBL struct PickerPropertiesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define PickerProperties_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define PickerProperties_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define PickerProperties_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define PickerProperties_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define PickerProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define PickerProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define PickerProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define PickerProperties_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PickerProperties_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PickerProperties_get_Item(This,Index,prop)	\
    ( (This)->lpVtbl -> get_Item(This,Index,prop) ) 

#define PickerProperties_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define PickerProperties_Add(This,Id,Value,Type,prop)	\
    ( (This)->lpVtbl -> Add(This,Id,Value,Type,prop) ) 

#define PickerProperties_Remove(This,Id)	\
    ( (This)->lpVtbl -> Remove(This,Id) ) 

#define PickerProperties_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PickerProperties_INTERFACE_DEFINED__ */


#ifndef __PickerResult_INTERFACE_DEFINED__
#define __PickerResult_INTERFACE_DEFINED__

/* interface PickerResult */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_PickerResult;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03E4-0000-0000-C000-000000000046")
    PickerResult : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ BSTR *Id) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
            /* [retval][out] */ BSTR *DisplayName) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayName( 
            /* [in] */ BSTR DisplayName) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ BSTR *Type) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ BSTR Type) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SIPId( 
            /* [retval][out] */ BSTR *SIPId) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SIPId( 
            /* [in] */ BSTR SIPId) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ItemData( 
            /* [retval][out] */ VARIANT *ItemData) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ItemData( 
            /* [in] */ VARIANT ItemData) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SubItems( 
            /* [retval][out] */ VARIANT *SubItems) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SubItems( 
            /* [in] */ VARIANT SubItems) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DuplicateResults( 
            /* [retval][out] */ VARIANT *DuplicateResults) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Fields( 
            /* [retval][out] */ PickerFields **Fields) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Fields( 
            /* [in] */ PickerFields *Fields) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PickerResultVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PickerResult * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PickerResult * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PickerResult * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PickerResult * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PickerResult * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PickerResult * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PickerResult * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PickerResult * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PickerResult * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            PickerResult * This,
            /* [retval][out] */ BSTR *Id);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
            PickerResult * This,
            /* [retval][out] */ BSTR *DisplayName);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayName )( 
            PickerResult * This,
            /* [in] */ BSTR DisplayName);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            PickerResult * This,
            /* [retval][out] */ BSTR *Type);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            PickerResult * This,
            /* [in] */ BSTR Type);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SIPId )( 
            PickerResult * This,
            /* [retval][out] */ BSTR *SIPId);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SIPId )( 
            PickerResult * This,
            /* [in] */ BSTR SIPId);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ItemData )( 
            PickerResult * This,
            /* [retval][out] */ VARIANT *ItemData);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ItemData )( 
            PickerResult * This,
            /* [in] */ VARIANT ItemData);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SubItems )( 
            PickerResult * This,
            /* [retval][out] */ VARIANT *SubItems);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SubItems )( 
            PickerResult * This,
            /* [in] */ VARIANT SubItems);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DuplicateResults )( 
            PickerResult * This,
            /* [retval][out] */ VARIANT *DuplicateResults);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Fields )( 
            PickerResult * This,
            /* [retval][out] */ PickerFields **Fields);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Fields )( 
            PickerResult * This,
            /* [in] */ PickerFields *Fields);
        
        END_INTERFACE
    } PickerResultVtbl;

    interface PickerResult
    {
        CONST_VTBL struct PickerResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define PickerResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define PickerResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define PickerResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define PickerResult_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define PickerResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define PickerResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define PickerResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define PickerResult_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PickerResult_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PickerResult_get_Id(This,Id)	\
    ( (This)->lpVtbl -> get_Id(This,Id) ) 

#define PickerResult_get_DisplayName(This,DisplayName)	\
    ( (This)->lpVtbl -> get_DisplayName(This,DisplayName) ) 

#define PickerResult_put_DisplayName(This,DisplayName)	\
    ( (This)->lpVtbl -> put_DisplayName(This,DisplayName) ) 

#define PickerResult_get_Type(This,Type)	\
    ( (This)->lpVtbl -> get_Type(This,Type) ) 

#define PickerResult_put_Type(This,Type)	\
    ( (This)->lpVtbl -> put_Type(This,Type) ) 

#define PickerResult_get_SIPId(This,SIPId)	\
    ( (This)->lpVtbl -> get_SIPId(This,SIPId) ) 

#define PickerResult_put_SIPId(This,SIPId)	\
    ( (This)->lpVtbl -> put_SIPId(This,SIPId) ) 

#define PickerResult_get_ItemData(This,ItemData)	\
    ( (This)->lpVtbl -> get_ItemData(This,ItemData) ) 

#define PickerResult_put_ItemData(This,ItemData)	\
    ( (This)->lpVtbl -> put_ItemData(This,ItemData) ) 

#define PickerResult_get_SubItems(This,SubItems)	\
    ( (This)->lpVtbl -> get_SubItems(This,SubItems) ) 

#define PickerResult_put_SubItems(This,SubItems)	\
    ( (This)->lpVtbl -> put_SubItems(This,SubItems) ) 

#define PickerResult_get_DuplicateResults(This,DuplicateResults)	\
    ( (This)->lpVtbl -> get_DuplicateResults(This,DuplicateResults) ) 

#define PickerResult_get_Fields(This,Fields)	\
    ( (This)->lpVtbl -> get_Fields(This,Fields) ) 

#define PickerResult_put_Fields(This,Fields)	\
    ( (This)->lpVtbl -> put_Fields(This,Fields) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PickerResult_INTERFACE_DEFINED__ */


#ifndef __PickerResults_INTERFACE_DEFINED__
#define __PickerResults_INTERFACE_DEFINED__

/* interface PickerResults */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_PickerResults;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03E5-0000-0000-C000-000000000046")
    PickerResults : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ PickerResult **Result) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *Count) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Id,
            /* [in] */ BSTR DisplayName,
            /* [in] */ BSTR Type,
            /* [defaultvalue][optional][in] */ BSTR SIPId,
            /* [optional][in] */ VARIANT ItemData,
            /* [optional][in] */ VARIANT SubItems,
            /* [retval][out] */ PickerResult **Result) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PickerResultsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PickerResults * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PickerResults * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PickerResults * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PickerResults * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PickerResults * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PickerResults * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PickerResults * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PickerResults * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PickerResults * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            PickerResults * This,
            /* [in] */ int Index,
            /* [retval][out] */ PickerResult **Result);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            PickerResults * This,
            /* [retval][out] */ long *Count);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            PickerResults * This,
            /* [in] */ BSTR Id,
            /* [in] */ BSTR DisplayName,
            /* [in] */ BSTR Type,
            /* [defaultvalue][optional][in] */ BSTR SIPId,
            /* [optional][in] */ VARIANT ItemData,
            /* [optional][in] */ VARIANT SubItems,
            /* [retval][out] */ PickerResult **Result);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            PickerResults * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        END_INTERFACE
    } PickerResultsVtbl;

    interface PickerResults
    {
        CONST_VTBL struct PickerResultsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define PickerResults_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define PickerResults_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define PickerResults_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define PickerResults_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define PickerResults_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define PickerResults_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define PickerResults_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define PickerResults_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PickerResults_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PickerResults_get_Item(This,Index,Result)	\
    ( (This)->lpVtbl -> get_Item(This,Index,Result) ) 

#define PickerResults_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define PickerResults_Add(This,Id,DisplayName,Type,SIPId,ItemData,SubItems,Result)	\
    ( (This)->lpVtbl -> Add(This,Id,DisplayName,Type,SIPId,ItemData,SubItems,Result) ) 

#define PickerResults_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PickerResults_INTERFACE_DEFINED__ */


#ifndef __PickerDialog_INTERFACE_DEFINED__
#define __PickerDialog_INTERFACE_DEFINED__

/* interface PickerDialog */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_PickerDialog;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03E6-0000-0000-C000-000000000046")
    PickerDialog : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DataHandlerId( 
            /* [retval][out] */ BSTR *Id) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_DataHandlerId( 
            /* [in] */ BSTR Id) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *Title) = 0;
        
        virtual /* [helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR Title) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Properties( 
            /* [retval][out] */ PickerProperties **Props) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE CreatePickerResults( 
            /* [retval][out] */ PickerResults **Results) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Show( 
            /* [defaultvalue][optional][in] */ VARIANT_BOOL IsMultiSelect,
            /* [defaultvalue][optional][in] */ PickerResults *ExistingResults,
            /* [retval][out] */ PickerResults **Results) = 0;
        
        virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Resolve( 
            /* [in] */ BSTR TokenText,
            /* [in] */ int duplicateDlgMode,
            /* [retval][out] */ PickerResults **Results) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PickerDialogVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PickerDialog * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PickerDialog * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PickerDialog * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PickerDialog * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PickerDialog * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PickerDialog * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PickerDialog * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PickerDialog * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PickerDialog * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DataHandlerId )( 
            PickerDialog * This,
            /* [retval][out] */ BSTR *Id);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DataHandlerId )( 
            PickerDialog * This,
            /* [in] */ BSTR Id);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            PickerDialog * This,
            /* [retval][out] */ BSTR *Title);
        
        /* [helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            PickerDialog * This,
            /* [in] */ BSTR Title);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
            PickerDialog * This,
            /* [retval][out] */ PickerProperties **Props);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CreatePickerResults )( 
            PickerDialog * This,
            /* [retval][out] */ PickerResults **Results);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Show )( 
            PickerDialog * This,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL IsMultiSelect,
            /* [defaultvalue][optional][in] */ PickerResults *ExistingResults,
            /* [retval][out] */ PickerResults **Results);
        
        /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Resolve )( 
            PickerDialog * This,
            /* [in] */ BSTR TokenText,
            /* [in] */ int duplicateDlgMode,
            /* [retval][out] */ PickerResults **Results);
        
        END_INTERFACE
    } PickerDialogVtbl;

    interface PickerDialog
    {
        CONST_VTBL struct PickerDialogVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define PickerDialog_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define PickerDialog_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define PickerDialog_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define PickerDialog_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define PickerDialog_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define PickerDialog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define PickerDialog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define PickerDialog_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PickerDialog_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PickerDialog_get_DataHandlerId(This,Id)	\
    ( (This)->lpVtbl -> get_DataHandlerId(This,Id) ) 

#define PickerDialog_put_DataHandlerId(This,Id)	\
    ( (This)->lpVtbl -> put_DataHandlerId(This,Id) ) 

#define PickerDialog_get_Title(This,Title)	\
    ( (This)->lpVtbl -> get_Title(This,Title) ) 

#define PickerDialog_put_Title(This,Title)	\
    ( (This)->lpVtbl -> put_Title(This,Title) ) 

#define PickerDialog_get_Properties(This,Props)	\
    ( (This)->lpVtbl -> get_Properties(This,Props) ) 

#define PickerDialog_CreatePickerResults(This,Results)	\
    ( (This)->lpVtbl -> CreatePickerResults(This,Results) ) 

#define PickerDialog_Show(This,IsMultiSelect,ExistingResults,Results)	\
    ( (This)->lpVtbl -> Show(This,IsMultiSelect,ExistingResults,Results) ) 

#define PickerDialog_Resolve(This,TokenText,duplicateDlgMode,Results)	\
    ( (This)->lpVtbl -> Resolve(This,TokenText,duplicateDlgMode,Results) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PickerDialog_INTERFACE_DEFINED__ */


#ifndef __IMsoContactCard_INTERFACE_DEFINED__
#define __IMsoContactCard_INTERFACE_DEFINED__

/* interface IMsoContactCard */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoContactCard;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03F0-0000-0000-C000-000000000046")
    IMsoContactCard : public _IMsoDispObj
    {
    public:
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Address( 
            /* [retval][out] */ BSTR *pAddress) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AddressType( 
            /* [retval][out] */ MsoContactCardAddressType *pAddressType) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_CardType( 
            /* [retval][out] */ MsoContactCardType *pCardType) = 0;
        
        virtual /* [helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **ppdispParent) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoContactCardVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoContactCard * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoContactCard * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoContactCard * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoContactCard * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoContactCard * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoContactCard * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoContactCard * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IMsoContactCard * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            IMsoContactCard * This,
            /* [retval][out] */ long *plCreator);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Address )( 
            IMsoContactCard * This,
            /* [retval][out] */ BSTR *pAddress);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AddressType )( 
            IMsoContactCard * This,
            /* [retval][out] */ MsoContactCardAddressType *pAddressType);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CardType )( 
            IMsoContactCard * This,
            /* [retval][out] */ MsoContactCardType *pCardType);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IMsoContactCard * This,
            /* [retval][out] */ IDispatch **ppdispParent);
        
        END_INTERFACE
    } IMsoContactCardVtbl;

    interface IMsoContactCard
    {
        CONST_VTBL struct IMsoContactCardVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoContactCard_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoContactCard_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoContactCard_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoContactCard_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoContactCard_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoContactCard_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoContactCard_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoContactCard_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define IMsoContactCard_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define IMsoContactCard_get_Address(This,pAddress)	\
    ( (This)->lpVtbl -> get_Address(This,pAddress) ) 

#define IMsoContactCard_get_AddressType(This,pAddressType)	\
    ( (This)->lpVtbl -> get_AddressType(This,pAddressType) ) 

#define IMsoContactCard_get_CardType(This,pCardType)	\
    ( (This)->lpVtbl -> get_CardType(This,pCardType) ) 

#define IMsoContactCard_get_Parent(This,ppdispParent)	\
    ( (This)->lpVtbl -> get_Parent(This,ppdispParent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoContactCard_INTERFACE_DEFINED__ */


#ifndef __EffectParameter_INTERFACE_DEFINED__
#define __EffectParameter_INTERFACE_DEFINED__

/* interface EffectParameter */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_EffectParameter;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03CF-0000-0000-C000-000000000046")
    EffectParameter : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT *Value) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ VARIANT Value) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct EffectParameterVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            EffectParameter * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            EffectParameter * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            EffectParameter * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            EffectParameter * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            EffectParameter * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            EffectParameter * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            EffectParameter * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            EffectParameter * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            EffectParameter * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            EffectParameter * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            EffectParameter * This,
            /* [retval][out] */ VARIANT *Value);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            EffectParameter * This,
            /* [in] */ VARIANT Value);
        
        END_INTERFACE
    } EffectParameterVtbl;

    interface EffectParameter
    {
        CONST_VTBL struct EffectParameterVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define EffectParameter_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define EffectParameter_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define EffectParameter_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define EffectParameter_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define EffectParameter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define EffectParameter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define EffectParameter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define EffectParameter_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define EffectParameter_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define EffectParameter_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define EffectParameter_get_Value(This,Value)	\
    ( (This)->lpVtbl -> get_Value(This,Value) ) 

#define EffectParameter_put_Value(This,Value)	\
    ( (This)->lpVtbl -> put_Value(This,Value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __EffectParameter_INTERFACE_DEFINED__ */


#ifndef __EffectParameters_INTERFACE_DEFINED__
#define __EffectParameters_INTERFACE_DEFINED__

/* interface EffectParameters */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_EffectParameters;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03D0-0000-0000-C000-000000000046")
    EffectParameters : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ EffectParameter **EffectParameter) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct EffectParametersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            EffectParameters * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            EffectParameters * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            EffectParameters * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            EffectParameters * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            EffectParameters * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            EffectParameters * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            EffectParameters * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            EffectParameters * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            EffectParameters * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            EffectParameters * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ EffectParameter **EffectParameter);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            EffectParameters * This,
            /* [retval][out] */ int *Count);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            EffectParameters * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        END_INTERFACE
    } EffectParametersVtbl;

    interface EffectParameters
    {
        CONST_VTBL struct EffectParametersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define EffectParameters_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define EffectParameters_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define EffectParameters_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define EffectParameters_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define EffectParameters_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define EffectParameters_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define EffectParameters_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define EffectParameters_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define EffectParameters_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define EffectParameters_get_Item(This,Index,EffectParameter)	\
    ( (This)->lpVtbl -> get_Item(This,Index,EffectParameter) ) 

#define EffectParameters_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define EffectParameters_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __EffectParameters_INTERFACE_DEFINED__ */


#ifndef __PictureEffect_INTERFACE_DEFINED__
#define __PictureEffect_INTERFACE_DEFINED__

/* interface PictureEffect */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_PictureEffect;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03D1-0000-0000-C000-000000000046")
    PictureEffect : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ MsoPictureEffectType *EffectType) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ int Position) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ int *Position) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_EffectParameters( 
            /* [retval][out] */ EffectParameters **EffectParameters) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ MsoTriState Visible) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ MsoTriState *Visible) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PictureEffectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PictureEffect * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PictureEffect * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PictureEffect * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PictureEffect * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PictureEffect * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PictureEffect * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PictureEffect * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PictureEffect * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PictureEffect * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            PictureEffect * This,
            /* [retval][out] */ MsoPictureEffectType *EffectType);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            PictureEffect * This,
            /* [in] */ int Position);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            PictureEffect * This,
            /* [retval][out] */ int *Position);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            PictureEffect * This);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EffectParameters )( 
            PictureEffect * This,
            /* [retval][out] */ EffectParameters **EffectParameters);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            PictureEffect * This,
            /* [in] */ MsoTriState Visible);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            PictureEffect * This,
            /* [retval][out] */ MsoTriState *Visible);
        
        END_INTERFACE
    } PictureEffectVtbl;

    interface PictureEffect
    {
        CONST_VTBL struct PictureEffectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define PictureEffect_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define PictureEffect_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define PictureEffect_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define PictureEffect_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define PictureEffect_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define PictureEffect_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define PictureEffect_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define PictureEffect_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PictureEffect_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PictureEffect_get_Type(This,EffectType)	\
    ( (This)->lpVtbl -> get_Type(This,EffectType) ) 

#define PictureEffect_put_Position(This,Position)	\
    ( (This)->lpVtbl -> put_Position(This,Position) ) 

#define PictureEffect_get_Position(This,Position)	\
    ( (This)->lpVtbl -> get_Position(This,Position) ) 

#define PictureEffect_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define PictureEffect_get_EffectParameters(This,EffectParameters)	\
    ( (This)->lpVtbl -> get_EffectParameters(This,EffectParameters) ) 

#define PictureEffect_put_Visible(This,Visible)	\
    ( (This)->lpVtbl -> put_Visible(This,Visible) ) 

#define PictureEffect_get_Visible(This,Visible)	\
    ( (This)->lpVtbl -> get_Visible(This,Visible) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PictureEffect_INTERFACE_DEFINED__ */


#ifndef __PictureEffects_INTERFACE_DEFINED__
#define __PictureEffects_INTERFACE_DEFINED__

/* interface PictureEffects */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_PictureEffects;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03D2-0000-0000-C000-000000000046")
    PictureEffects : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ int Index,
            /* [retval][out] */ PictureEffect **Item) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ int *Count) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **_NewEnum) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Insert( 
            /* [in] */ MsoPictureEffectType EffectType,
            /* [defaultvalue][optional][in] */ int Position,
            /* [retval][out] */ PictureEffect **Effect) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [defaultvalue][optional][in] */ int Index = -1) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct PictureEffectsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            PictureEffects * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            PictureEffects * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            PictureEffects * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            PictureEffects * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            PictureEffects * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            PictureEffects * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            PictureEffects * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            PictureEffects * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            PictureEffects * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            PictureEffects * This,
            /* [in] */ int Index,
            /* [retval][out] */ PictureEffect **Item);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            PictureEffects * This,
            /* [retval][out] */ int *Count);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            PictureEffects * This,
            /* [retval][out] */ IUnknown **_NewEnum);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Insert )( 
            PictureEffects * This,
            /* [in] */ MsoPictureEffectType EffectType,
            /* [defaultvalue][optional][in] */ int Position,
            /* [retval][out] */ PictureEffect **Effect);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            PictureEffects * This,
            /* [defaultvalue][optional][in] */ int Index);
        
        END_INTERFACE
    } PictureEffectsVtbl;

    interface PictureEffects
    {
        CONST_VTBL struct PictureEffectsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define PictureEffects_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define PictureEffects_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define PictureEffects_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define PictureEffects_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define PictureEffects_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define PictureEffects_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define PictureEffects_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define PictureEffects_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define PictureEffects_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define PictureEffects_get_Item(This,Index,Item)	\
    ( (This)->lpVtbl -> get_Item(This,Index,Item) ) 

#define PictureEffects_get_Count(This,Count)	\
    ( (This)->lpVtbl -> get_Count(This,Count) ) 

#define PictureEffects_get__NewEnum(This,_NewEnum)	\
    ( (This)->lpVtbl -> get__NewEnum(This,_NewEnum) ) 

#define PictureEffects_Insert(This,EffectType,Position,Effect)	\
    ( (This)->lpVtbl -> Insert(This,EffectType,Position,Effect) ) 

#define PictureEffects_Delete(This,Index)	\
    ( (This)->lpVtbl -> Delete(This,Index) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __PictureEffects_INTERFACE_DEFINED__ */


#ifndef __Crop_INTERFACE_DEFINED__
#define __Crop_INTERFACE_DEFINED__

/* interface Crop */
/* [object][oleautomation][nonextensible][dual][uuid] */ 


extern "C++" const IID IID_Crop;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03D3-0000-0000-C000-000000000046")
    Crop : public _IMsoDispObj
    {
    public:
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureOffsetX( 
            /* [retval][out] */ single *PictureOffsetX) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PictureOffsetX( 
            /* [in] */ single PictureOffsetX) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureOffsetY( 
            /* [retval][out] */ single *PictureOffsetY) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PictureOffsetY( 
            /* [in] */ single PictureOffsetY) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureWidth( 
            /* [retval][out] */ single *PictureWidth) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PictureWidth( 
            /* [in] */ single PictureWidth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PictureHeight( 
            /* [retval][out] */ single *PictureHeight) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_PictureHeight( 
            /* [in] */ single PictureHeight) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShapeLeft( 
            /* [retval][out] */ single *ShapeLeft) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShapeLeft( 
            /* [in] */ single ShapeLeft) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShapeTop( 
            /* [retval][out] */ single *ShapeTop) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShapeTop( 
            /* [in] */ single ShapeTop) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShapeWidth( 
            /* [retval][out] */ single *ShapeWidth) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShapeWidth( 
            /* [in] */ single ShapeWidth) = 0;
        
        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_ShapeHeight( 
            /* [retval][out] */ single *ShapeHeight) = 0;
        
        virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_ShapeHeight( 
            /* [in] */ single ShapeHeight) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CropVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Crop * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Crop * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Crop * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Crop * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Crop * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Crop * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Crop * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            Crop * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            Crop * This,
            /* [retval][out] */ long *plCreator);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureOffsetX )( 
            Crop * This,
            /* [retval][out] */ single *PictureOffsetX);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PictureOffsetX )( 
            Crop * This,
            /* [in] */ single PictureOffsetX);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureOffsetY )( 
            Crop * This,
            /* [retval][out] */ single *PictureOffsetY);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PictureOffsetY )( 
            Crop * This,
            /* [in] */ single PictureOffsetY);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureWidth )( 
            Crop * This,
            /* [retval][out] */ single *PictureWidth);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PictureWidth )( 
            Crop * This,
            /* [in] */ single PictureWidth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PictureHeight )( 
            Crop * This,
            /* [retval][out] */ single *PictureHeight);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PictureHeight )( 
            Crop * This,
            /* [in] */ single PictureHeight);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShapeLeft )( 
            Crop * This,
            /* [retval][out] */ single *ShapeLeft);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShapeLeft )( 
            Crop * This,
            /* [in] */ single ShapeLeft);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShapeTop )( 
            Crop * This,
            /* [retval][out] */ single *ShapeTop);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShapeTop )( 
            Crop * This,
            /* [in] */ single ShapeTop);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShapeWidth )( 
            Crop * This,
            /* [retval][out] */ single *ShapeWidth);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShapeWidth )( 
            Crop * This,
            /* [in] */ single ShapeWidth);
        
        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ShapeHeight )( 
            Crop * This,
            /* [retval][out] */ single *ShapeHeight);
        
        /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ShapeHeight )( 
            Crop * This,
            /* [in] */ single ShapeHeight);
        
        END_INTERFACE
    } CropVtbl;

    interface Crop
    {
        CONST_VTBL struct CropVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Crop_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define Crop_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define Crop_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define Crop_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define Crop_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define Crop_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define Crop_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define Crop_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define Crop_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define Crop_get_PictureOffsetX(This,PictureOffsetX)	\
    ( (This)->lpVtbl -> get_PictureOffsetX(This,PictureOffsetX) ) 

#define Crop_put_PictureOffsetX(This,PictureOffsetX)	\
    ( (This)->lpVtbl -> put_PictureOffsetX(This,PictureOffsetX) ) 

#define Crop_get_PictureOffsetY(This,PictureOffsetY)	\
    ( (This)->lpVtbl -> get_PictureOffsetY(This,PictureOffsetY) ) 

#define Crop_put_PictureOffsetY(This,PictureOffsetY)	\
    ( (This)->lpVtbl -> put_PictureOffsetY(This,PictureOffsetY) ) 

#define Crop_get_PictureWidth(This,PictureWidth)	\
    ( (This)->lpVtbl -> get_PictureWidth(This,PictureWidth) ) 

#define Crop_put_PictureWidth(This,PictureWidth)	\
    ( (This)->lpVtbl -> put_PictureWidth(This,PictureWidth) ) 

#define Crop_get_PictureHeight(This,PictureHeight)	\
    ( (This)->lpVtbl -> get_PictureHeight(This,PictureHeight) ) 

#define Crop_put_PictureHeight(This,PictureHeight)	\
    ( (This)->lpVtbl -> put_PictureHeight(This,PictureHeight) ) 

#define Crop_get_ShapeLeft(This,ShapeLeft)	\
    ( (This)->lpVtbl -> get_ShapeLeft(This,ShapeLeft) ) 

#define Crop_put_ShapeLeft(This,ShapeLeft)	\
    ( (This)->lpVtbl -> put_ShapeLeft(This,ShapeLeft) ) 

#define Crop_get_ShapeTop(This,ShapeTop)	\
    ( (This)->lpVtbl -> get_ShapeTop(This,ShapeTop) ) 

#define Crop_put_ShapeTop(This,ShapeTop)	\
    ( (This)->lpVtbl -> put_ShapeTop(This,ShapeTop) ) 

#define Crop_get_ShapeWidth(This,ShapeWidth)	\
    ( (This)->lpVtbl -> get_ShapeWidth(This,ShapeWidth) ) 

#define Crop_put_ShapeWidth(This,ShapeWidth)	\
    ( (This)->lpVtbl -> put_ShapeWidth(This,ShapeWidth) ) 

#define Crop_get_ShapeHeight(This,ShapeHeight)	\
    ( (This)->lpVtbl -> get_ShapeHeight(This,ShapeHeight) ) 

#define Crop_put_ShapeHeight(This,ShapeHeight)	\
    ( (This)->lpVtbl -> put_ShapeHeight(This,ShapeHeight) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Crop_INTERFACE_DEFINED__ */


#ifndef __ContactCard_INTERFACE_DEFINED__
#define __ContactCard_INTERFACE_DEFINED__

/* interface ContactCard */
/* [object][oleautomation][nonextensible][dual][helpcontext][uuid] */ 


extern "C++" const IID IID_ContactCard;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C03F1-0000-0000-C000-000000000046")
    ContactCard : public _IMsoDispObj
    {
    public:
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
        virtual /* [id] */ HRESULT STDMETHODCALLTYPE Show( 
            /* [in] */ MsoContactCardStyle CardStyle,
            /* [in] */ long RectangleLeft,
            /* [in] */ long RectangleRight,
            /* [in] */ long RectangleTop,
            /* [in] */ long RectangleBottom,
            /* [in] */ long HorizontalPosition,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL ShowWithDelay = 0) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ContactCardVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ContactCard * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ContactCard * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ContactCard * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ContactCard * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ContactCard * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ContactCard * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ContactCard * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            ContactCard * This,
            /* [retval][out] */ IDispatch **ppidisp);
        
        /* [helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Creator )( 
            ContactCard * This,
            /* [retval][out] */ long *plCreator);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            ContactCard * This);
        
        /* [id] */ HRESULT ( STDMETHODCALLTYPE *Show )( 
            ContactCard * This,
            /* [in] */ MsoContactCardStyle CardStyle,
            /* [in] */ long RectangleLeft,
            /* [in] */ long RectangleRight,
            /* [in] */ long RectangleTop,
            /* [in] */ long RectangleBottom,
            /* [in] */ long HorizontalPosition,
            /* [defaultvalue][optional][in] */ VARIANT_BOOL ShowWithDelay);
        
        END_INTERFACE
    } ContactCardVtbl;

    interface ContactCard
    {
        CONST_VTBL struct ContactCardVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ContactCard_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ContactCard_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ContactCard_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ContactCard_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ContactCard_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ContactCard_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ContactCard_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ContactCard_get_Application(This,ppidisp)	\
    ( (This)->lpVtbl -> get_Application(This,ppidisp) ) 

#define ContactCard_get_Creator(This,plCreator)	\
    ( (This)->lpVtbl -> get_Creator(This,plCreator) ) 


#define ContactCard_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#define ContactCard_Show(This,CardStyle,RectangleLeft,RectangleRight,RectangleTop,RectangleBottom,HorizontalPosition,ShowWithDelay)	\
    ( (This)->lpVtbl -> Show(This,CardStyle,RectangleLeft,RectangleRight,RectangleTop,RectangleBottom,HorizontalPosition,ShowWithDelay) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ContactCard_INTERFACE_DEFINED__ */


#ifndef __FullSeriesCollection_INTERFACE_DEFINED__
#define __FullSeriesCollection_INTERFACE_DEFINED__

/* interface FullSeriesCollection */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_FullSeriesCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1732-0000-0000-C000-000000000046")
    FullSeriesCollection : public IDispatch
    {
    public:
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Count( 
            /* [retval][out] */ long *RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoSeries **RHS) = 0;
        
        virtual /* [helpcontext] */ HRESULT __stdcall _NewEnum( 
            /* [retval][out] */ IUnknown **RHS) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT __stdcall get__Default( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoSeries **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct FullSeriesCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            FullSeriesCollection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            FullSeriesCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            FullSeriesCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            FullSeriesCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            FullSeriesCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            FullSeriesCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            FullSeriesCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Parent )( 
            FullSeriesCollection * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Count )( 
            FullSeriesCollection * This,
            /* [retval][out] */ long *RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *Item )( 
            FullSeriesCollection * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoSeries **RHS);
        
        /* [helpcontext] */ HRESULT ( __stdcall *_NewEnum )( 
            FullSeriesCollection * This,
            /* [retval][out] */ IUnknown **RHS);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Application )( 
            FullSeriesCollection * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get_Creator )( 
            FullSeriesCollection * This,
            /* [retval][out] */ long *pval);
        
        /* [helpcontext][propget] */ HRESULT ( __stdcall *get__Default )( 
            FullSeriesCollection * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoSeries **RHS);
        
        END_INTERFACE
    } FullSeriesCollectionVtbl;

    interface FullSeriesCollection
    {
        CONST_VTBL struct FullSeriesCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define FullSeriesCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define FullSeriesCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define FullSeriesCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define FullSeriesCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define FullSeriesCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define FullSeriesCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define FullSeriesCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define FullSeriesCollection_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define FullSeriesCollection_get_Count(This,RHS)	\
    ( (This)->lpVtbl -> get_Count(This,RHS) ) 

#define FullSeriesCollection_Item(This,Index,RHS)	\
    ( (This)->lpVtbl -> Item(This,Index,RHS) ) 

#define FullSeriesCollection__NewEnum(This,RHS)	\
    ( (This)->lpVtbl -> _NewEnum(This,RHS) ) 

#define FullSeriesCollection_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define FullSeriesCollection_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define FullSeriesCollection_get__Default(This,Index,RHS)	\
    ( (This)->lpVtbl -> get__Default(This,Index,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __FullSeriesCollection_INTERFACE_DEFINED__ */


#ifndef __IMsoCategory_INTERFACE_DEFINED__
#define __IMsoCategory_INTERFACE_DEFINED__

/* interface IMsoCategory */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_IMsoCategory;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1733-0000-0000-C000-000000000046")
    IMsoCategory : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Name( 
            /* [retval][out] */ BSTR *pbstr) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_IsFiltered( 
            /* [retval][out] */ VARIANT_BOOL *pfIsFiltered) = 0;
        
        virtual /* [propput] */ HRESULT __stdcall put_IsFiltered( 
            /* [in] */ VARIANT_BOOL pfIsFiltered) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMsoCategoryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMsoCategory * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMsoCategory * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMsoCategory * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMsoCategory * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMsoCategory * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMsoCategory * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMsoCategory * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget] */ HRESULT ( __stdcall *get_Parent )( 
            IMsoCategory * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Name )( 
            IMsoCategory * This,
            /* [retval][out] */ BSTR *pbstr);
        
        /* [propget] */ HRESULT ( __stdcall *get_IsFiltered )( 
            IMsoCategory * This,
            /* [retval][out] */ VARIANT_BOOL *pfIsFiltered);
        
        /* [propput] */ HRESULT ( __stdcall *put_IsFiltered )( 
            IMsoCategory * This,
            /* [in] */ VARIANT_BOOL pfIsFiltered);
        
        END_INTERFACE
    } IMsoCategoryVtbl;

    interface IMsoCategory
    {
        CONST_VTBL struct IMsoCategoryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMsoCategory_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMsoCategory_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMsoCategory_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMsoCategory_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMsoCategory_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMsoCategory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMsoCategory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMsoCategory_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define IMsoCategory_get_Name(This,pbstr)	\
    ( (This)->lpVtbl -> get_Name(This,pbstr) ) 

#define IMsoCategory_get_IsFiltered(This,pfIsFiltered)	\
    ( (This)->lpVtbl -> get_IsFiltered(This,pfIsFiltered) ) 

#define IMsoCategory_put_IsFiltered(This,pfIsFiltered)	\
    ( (This)->lpVtbl -> put_IsFiltered(This,pfIsFiltered) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMsoCategory_INTERFACE_DEFINED__ */


#ifndef __CategoryCollection_INTERFACE_DEFINED__
#define __CategoryCollection_INTERFACE_DEFINED__

/* interface CategoryCollection */
/* [object][hidden][helpcontext][uuid] */ 


extern "C++" const IID IID_CategoryCollection;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("000C1734-0000-0000-C000-000000000046")
    CategoryCollection : public IDispatch
    {
    public:
        virtual /* [propget] */ HRESULT __stdcall get_Parent( 
            /* [retval][out] */ IDispatch **RHS) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Count( 
            /* [retval][out] */ long *cCategory) = 0;
        
        virtual HRESULT __stdcall Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoCategory **ppcategory) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Application( 
            /* [retval][out] */ IDispatch **ppval) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get_Creator( 
            /* [retval][out] */ long *pval) = 0;
        
        virtual /* [propget] */ HRESULT __stdcall get__Default( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoCategory **RHS) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct CategoryCollectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CategoryCollection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CategoryCollection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CategoryCollection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            CategoryCollection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            CategoryCollection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            CategoryCollection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            CategoryCollection * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [propget] */ HRESULT ( __stdcall *get_Parent )( 
            CategoryCollection * This,
            /* [retval][out] */ IDispatch **RHS);
        
        /* [propget] */ HRESULT ( __stdcall *get_Count )( 
            CategoryCollection * This,
            /* [retval][out] */ long *cCategory);
        
        HRESULT ( __stdcall *Item )( 
            CategoryCollection * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoCategory **ppcategory);
        
        /* [propget] */ HRESULT ( __stdcall *get_Application )( 
            CategoryCollection * This,
            /* [retval][out] */ IDispatch **ppval);
        
        /* [propget] */ HRESULT ( __stdcall *get_Creator )( 
            CategoryCollection * This,
            /* [retval][out] */ long *pval);
        
        /* [propget] */ HRESULT ( __stdcall *get__Default )( 
            CategoryCollection * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IMsoCategory **RHS);
        
        END_INTERFACE
    } CategoryCollectionVtbl;

    interface CategoryCollection
    {
        CONST_VTBL struct CategoryCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define CategoryCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define CategoryCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define CategoryCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define CategoryCollection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define CategoryCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define CategoryCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define CategoryCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define CategoryCollection_get_Parent(This,RHS)	\
    ( (This)->lpVtbl -> get_Parent(This,RHS) ) 

#define CategoryCollection_get_Count(This,cCategory)	\
    ( (This)->lpVtbl -> get_Count(This,cCategory) ) 

#define CategoryCollection_Item(This,Index,ppcategory)	\
    ( (This)->lpVtbl -> Item(This,Index,ppcategory) ) 

#define CategoryCollection_get_Application(This,ppval)	\
    ( (This)->lpVtbl -> get_Application(This,ppval) ) 

#define CategoryCollection_get_Creator(This,pval)	\
    ( (This)->lpVtbl -> get_Creator(This,pval) ) 

#define CategoryCollection_get__Default(This,Index,RHS)	\
    ( (This)->lpVtbl -> get__Default(This,Index,RHS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CategoryCollection_INTERFACE_DEFINED__ */


extern "C++" const CLSID CLSID_CommandBars;

#ifdef __cplusplus

class DECLSPEC_UUID("55F88893-7708-11D1-ACEB-006008961DA5")
CommandBars;
#endif

extern "C++" const CLSID CLSID_CommandBarComboBox;

#ifdef __cplusplus

class DECLSPEC_UUID("55F88897-7708-11D1-ACEB-006008961DA5")
CommandBarComboBox;
#endif

extern "C++" const CLSID CLSID_CommandBarButton;

#ifdef __cplusplus

class DECLSPEC_UUID("55F88891-7708-11D1-ACEB-006008961DA5")
CommandBarButton;
#endif

extern "C++" const CLSID CLSID_MsoEnvelope;

#ifdef __cplusplus

class DECLSPEC_UUID("0006F01A-0000-0000-C000-000000000046")
MsoEnvelope;
#endif

extern "C++" const CLSID CLSID_CustomXMLSchemaCollection;

#ifdef __cplusplus

class DECLSPEC_UUID("000CDB0D-0000-0000-C000-000000000046")
CustomXMLSchemaCollection;
#endif

extern "C++" const CLSID CLSID_CustomXMLPart;

#ifdef __cplusplus

class DECLSPEC_UUID("000CDB08-0000-0000-C000-000000000046")
CustomXMLPart;
#endif

extern "C++" const CLSID CLSID_CustomXMLParts;

#ifdef __cplusplus

class DECLSPEC_UUID("000CDB0C-0000-0000-C000-000000000046")
CustomXMLParts;
#endif

extern "C++" const CLSID CLSID_CustomTaskPane;

#ifdef __cplusplus

class DECLSPEC_UUID("7FFFFFFF-A188-466B-AB31-00A6A32B1B1C")
CustomTaskPane;
#endif
#endif /* __Office_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif


}



#endif


