Click here to Skip to main content
15,881,380 members
Articles / Desktop Programming / ATL

A 2D Graph Component With Zoom Capability

Rate me:
Please Sign up or sign in to vote.
4.92/5 (37 votes)
21 Dec 2004CPOL2 min read 287.8K   21.5K   166  
A 2D graph component with zoom capability.

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


 /* File created by MIDL compiler version 6.00.0361 */
/* at Tue Dec 21 00:20:53 2004
 */
/* Compiler settings for _Graph.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

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


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

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

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

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

#ifndef ___Graph_h__
#define ___Graph_h__

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

/* Forward Declarations */ 

#ifndef __ISmartGraph_FWD_DEFINED__
#define __ISmartGraph_FWD_DEFINED__
typedef interface ISmartGraph ISmartGraph;
#endif 	/* __ISmartGraph_FWD_DEFINED__ */


#ifndef ___ISmartGraphEvents_FWD_DEFINED__
#define ___ISmartGraphEvents_FWD_DEFINED__
typedef interface _ISmartGraphEvents _ISmartGraphEvents;
#endif 	/* ___ISmartGraphEvents_FWD_DEFINED__ */


#ifndef __SmartGraph_FWD_DEFINED__
#define __SmartGraph_FWD_DEFINED__

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

#endif 	/* __SmartGraph_FWD_DEFINED__ */


/* header files for imported files */
#include "prsht.h"
#include "mshtml.h"
#include "mshtmhst.h"
#include "exdisp.h"
#include "objsafe.h"

#ifdef __cplusplus
extern "C"{
#endif 

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

#ifndef __ISmartGraph_INTERFACE_DEFINED__
#define __ISmartGraph_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_ISmartGraph;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1EECA078-14D3-427D-AEA5-F9342ABBFC7C")
    ISmartGraph : public IDispatch
    {
    public:
        virtual /* [id][requestedit][bindable][propput] */ HRESULT STDMETHODCALLTYPE put_BackColor( 
            /* [in] */ OLE_COLOR clr) = 0;
        
        virtual /* [id][requestedit][bindable][propget] */ HRESULT STDMETHODCALLTYPE get_BackColor( 
            /* [retval][out] */ OLE_COLOR *pclr) = 0;
        
        virtual /* [id][requestedit][bindable][propput] */ HRESULT STDMETHODCALLTYPE put_BorderColor( 
            /* [in] */ OLE_COLOR clr) = 0;
        
        virtual /* [id][requestedit][bindable][propget] */ HRESULT STDMETHODCALLTYPE get_BorderColor( 
            /* [retval][out] */ OLE_COLOR *pclr) = 0;
        
        virtual /* [id][requestedit][bindable][propput] */ HRESULT STDMETHODCALLTYPE put_ForeColor( 
            /* [in] */ OLE_COLOR clr) = 0;
        
        virtual /* [id][requestedit][bindable][propget] */ HRESULT STDMETHODCALLTYPE get_ForeColor( 
            /* [retval][out] */ OLE_COLOR *pclr) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_xLable( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_xLable( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_yLable( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_yLable( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Columns( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Columns( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rows( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rows( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MarginBottom( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_MarginBottom( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MarginTop( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_MarginTop( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MarginRight( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_MarginRight( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MarginLeft( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_MarginLeft( 
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetData( 
            /* [in] */ DOUBLE *xData,
            /* [in] */ DOUBLE *yData,
            /* [in] */ LONG NumOfPoints,
            /* [in] */ VARIANT_BOOL bResample) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetData2( 
            /* [in] */ DOUBLE *xData,
            /* [in] */ DOUBLE *yData,
            /* [in] */ LONG NumOfPoints,
            /* [in] */ DOUBLE xMin,
            /* [in] */ DOUBLE xMax,
            /* [in] */ DOUBLE yMin,
            /* [in] */ DOUBLE yMax,
            /* [in] */ VARIANT_BOOL bResample) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ShowGrid( 
            /* [in] */ VARIANT_BOOL bShow) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UpdateGraph( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPlotType( 
            /* [in] */ LONG nType) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPlotRect( 
            /* [out] */ LONG *left,
            /* [out] */ LONG *top,
            /* [out] */ LONG *right,
            /* [out] */ LONG *bottom) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetClientRect( 
            /* [out] */ LONG *left,
            /* [out] */ LONG *top,
            /* [out] */ LONG *right,
            /* [out] */ LONG *bottom) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ZoomIn( 
            /* [in] */ LONG FromSample,
            /* [in] */ LONG ToSample) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ZoomInByPercent( 
            /* [in] */ DOUBLE FromPercent,
            /* [in] */ DOUBLE ToPercent) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ZoomOut( void) = 0;
        
        virtual /* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetDisplayedRange( 
            /* [out] */ LONGLONG *nStartSample,
            /* [out] */ LONGLONG *nEndSample) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLegendText( 
            /* [in] */ BSTR strText,
            /* [in] */ LONG top,
            /* [in] */ LONG left,
            /* [in] */ LONG bottom,
            /* [in] */ LONG right) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetParentWnd( 
            /* [in] */ OLE_HANDLE hWnd) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPlotType( 
            /* [in] */ LONG *PlotType) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISmartGraphVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISmartGraph * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISmartGraph * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISmartGraph * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISmartGraph * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISmartGraph * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISmartGraph * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISmartGraph * This,
            /* [in] */ 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][requestedit][bindable][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackColor )( 
            ISmartGraph * This,
            /* [in] */ OLE_COLOR clr);
        
        /* [id][requestedit][bindable][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackColor )( 
            ISmartGraph * This,
            /* [retval][out] */ OLE_COLOR *pclr);
        
        /* [id][requestedit][bindable][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BorderColor )( 
            ISmartGraph * This,
            /* [in] */ OLE_COLOR clr);
        
        /* [id][requestedit][bindable][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BorderColor )( 
            ISmartGraph * This,
            /* [retval][out] */ OLE_COLOR *pclr);
        
        /* [id][requestedit][bindable][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForeColor )( 
            ISmartGraph * This,
            /* [in] */ OLE_COLOR clr);
        
        /* [id][requestedit][bindable][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForeColor )( 
            ISmartGraph * This,
            /* [retval][out] */ OLE_COLOR *pclr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            ISmartGraph * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            ISmartGraph * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_xLable )( 
            ISmartGraph * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_xLable )( 
            ISmartGraph * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_yLable )( 
            ISmartGraph * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_yLable )( 
            ISmartGraph * This,
            /* [in] */ BSTR newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Columns )( 
            ISmartGraph * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Columns )( 
            ISmartGraph * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rows )( 
            ISmartGraph * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rows )( 
            ISmartGraph * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginBottom )( 
            ISmartGraph * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginBottom )( 
            ISmartGraph * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginTop )( 
            ISmartGraph * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginTop )( 
            ISmartGraph * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginRight )( 
            ISmartGraph * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginRight )( 
            ISmartGraph * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginLeft )( 
            ISmartGraph * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginLeft )( 
            ISmartGraph * This,
            /* [in] */ LONG newVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetData )( 
            ISmartGraph * This,
            /* [in] */ DOUBLE *xData,
            /* [in] */ DOUBLE *yData,
            /* [in] */ LONG NumOfPoints,
            /* [in] */ VARIANT_BOOL bResample);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetData2 )( 
            ISmartGraph * This,
            /* [in] */ DOUBLE *xData,
            /* [in] */ DOUBLE *yData,
            /* [in] */ LONG NumOfPoints,
            /* [in] */ DOUBLE xMin,
            /* [in] */ DOUBLE xMax,
            /* [in] */ DOUBLE yMin,
            /* [in] */ DOUBLE yMax,
            /* [in] */ VARIANT_BOOL bResample);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowGrid )( 
            ISmartGraph * This,
            /* [in] */ VARIANT_BOOL bShow);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateGraph )( 
            ISmartGraph * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetPlotType )( 
            ISmartGraph * This,
            /* [in] */ LONG nType);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPlotRect )( 
            ISmartGraph * This,
            /* [out] */ LONG *left,
            /* [out] */ LONG *top,
            /* [out] */ LONG *right,
            /* [out] */ LONG *bottom);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetClientRect )( 
            ISmartGraph * This,
            /* [out] */ LONG *left,
            /* [out] */ LONG *top,
            /* [out] */ LONG *right,
            /* [out] */ LONG *bottom);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomIn )( 
            ISmartGraph * This,
            /* [in] */ LONG FromSample,
            /* [in] */ LONG ToSample);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomInByPercent )( 
            ISmartGraph * This,
            /* [in] */ DOUBLE FromPercent,
            /* [in] */ DOUBLE ToPercent);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomOut )( 
            ISmartGraph * This);
        
        /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
            ISmartGraph * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetDisplayedRange )( 
            ISmartGraph * This,
            /* [out] */ LONGLONG *nStartSample,
            /* [out] */ LONGLONG *nEndSample);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLegendText )( 
            ISmartGraph * This,
            /* [in] */ BSTR strText,
            /* [in] */ LONG top,
            /* [in] */ LONG left,
            /* [in] */ LONG bottom,
            /* [in] */ LONG right);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetParentWnd )( 
            ISmartGraph * This,
            /* [in] */ OLE_HANDLE hWnd);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPlotType )( 
            ISmartGraph * This,
            /* [in] */ LONG *PlotType);
        
        END_INTERFACE
    } ISmartGraphVtbl;

    interface ISmartGraph
    {
        CONST_VTBL struct ISmartGraphVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define ISmartGraph_put_BackColor(This,clr)	\
    (This)->lpVtbl -> put_BackColor(This,clr)

#define ISmartGraph_get_BackColor(This,pclr)	\
    (This)->lpVtbl -> get_BackColor(This,pclr)

#define ISmartGraph_put_BorderColor(This,clr)	\
    (This)->lpVtbl -> put_BorderColor(This,clr)

#define ISmartGraph_get_BorderColor(This,pclr)	\
    (This)->lpVtbl -> get_BorderColor(This,pclr)

#define ISmartGraph_put_ForeColor(This,clr)	\
    (This)->lpVtbl -> put_ForeColor(This,clr)

#define ISmartGraph_get_ForeColor(This,pclr)	\
    (This)->lpVtbl -> get_ForeColor(This,pclr)

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

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

#define ISmartGraph_get_xLable(This,pVal)	\
    (This)->lpVtbl -> get_xLable(This,pVal)

#define ISmartGraph_put_xLable(This,newVal)	\
    (This)->lpVtbl -> put_xLable(This,newVal)

#define ISmartGraph_get_yLable(This,pVal)	\
    (This)->lpVtbl -> get_yLable(This,pVal)

#define ISmartGraph_put_yLable(This,newVal)	\
    (This)->lpVtbl -> put_yLable(This,newVal)

#define ISmartGraph_get_Columns(This,pVal)	\
    (This)->lpVtbl -> get_Columns(This,pVal)

#define ISmartGraph_put_Columns(This,newVal)	\
    (This)->lpVtbl -> put_Columns(This,newVal)

#define ISmartGraph_get_Rows(This,pVal)	\
    (This)->lpVtbl -> get_Rows(This,pVal)

#define ISmartGraph_put_Rows(This,newVal)	\
    (This)->lpVtbl -> put_Rows(This,newVal)

#define ISmartGraph_get_MarginBottom(This,pVal)	\
    (This)->lpVtbl -> get_MarginBottom(This,pVal)

#define ISmartGraph_put_MarginBottom(This,newVal)	\
    (This)->lpVtbl -> put_MarginBottom(This,newVal)

#define ISmartGraph_get_MarginTop(This,pVal)	\
    (This)->lpVtbl -> get_MarginTop(This,pVal)

#define ISmartGraph_put_MarginTop(This,newVal)	\
    (This)->lpVtbl -> put_MarginTop(This,newVal)

#define ISmartGraph_get_MarginRight(This,pVal)	\
    (This)->lpVtbl -> get_MarginRight(This,pVal)

#define ISmartGraph_put_MarginRight(This,newVal)	\
    (This)->lpVtbl -> put_MarginRight(This,newVal)

#define ISmartGraph_get_MarginLeft(This,pVal)	\
    (This)->lpVtbl -> get_MarginLeft(This,pVal)

#define ISmartGraph_put_MarginLeft(This,newVal)	\
    (This)->lpVtbl -> put_MarginLeft(This,newVal)

#define ISmartGraph_SetData(This,xData,yData,NumOfPoints,bResample)	\
    (This)->lpVtbl -> SetData(This,xData,yData,NumOfPoints,bResample)

#define ISmartGraph_SetData2(This,xData,yData,NumOfPoints,xMin,xMax,yMin,yMax,bResample)	\
    (This)->lpVtbl -> SetData2(This,xData,yData,NumOfPoints,xMin,xMax,yMin,yMax,bResample)

#define ISmartGraph_ShowGrid(This,bShow)	\
    (This)->lpVtbl -> ShowGrid(This,bShow)

#define ISmartGraph_UpdateGraph(This)	\
    (This)->lpVtbl -> UpdateGraph(This)

#define ISmartGraph_SetPlotType(This,nType)	\
    (This)->lpVtbl -> SetPlotType(This,nType)

#define ISmartGraph_GetPlotRect(This,left,top,right,bottom)	\
    (This)->lpVtbl -> GetPlotRect(This,left,top,right,bottom)

#define ISmartGraph_GetClientRect(This,left,top,right,bottom)	\
    (This)->lpVtbl -> GetClientRect(This,left,top,right,bottom)

#define ISmartGraph_ZoomIn(This,FromSample,ToSample)	\
    (This)->lpVtbl -> ZoomIn(This,FromSample,ToSample)

#define ISmartGraph_ZoomInByPercent(This,FromPercent,ToPercent)	\
    (This)->lpVtbl -> ZoomInByPercent(This,FromPercent,ToPercent)

#define ISmartGraph_ZoomOut(This)	\
    (This)->lpVtbl -> ZoomOut(This)

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

#define ISmartGraph_GetDisplayedRange(This,nStartSample,nEndSample)	\
    (This)->lpVtbl -> GetDisplayedRange(This,nStartSample,nEndSample)

#define ISmartGraph_SetLegendText(This,strText,top,left,bottom,right)	\
    (This)->lpVtbl -> SetLegendText(This,strText,top,left,bottom,right)

#define ISmartGraph_SetParentWnd(This,hWnd)	\
    (This)->lpVtbl -> SetParentWnd(This,hWnd)

#define ISmartGraph_GetPlotType(This,PlotType)	\
    (This)->lpVtbl -> GetPlotType(This,PlotType)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [id][requestedit][bindable][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_BackColor_Proxy( 
    ISmartGraph * This,
    /* [in] */ OLE_COLOR clr);


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


/* [id][requestedit][bindable][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_BackColor_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ OLE_COLOR *pclr);


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


/* [id][requestedit][bindable][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_BorderColor_Proxy( 
    ISmartGraph * This,
    /* [in] */ OLE_COLOR clr);


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


/* [id][requestedit][bindable][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_BorderColor_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ OLE_COLOR *pclr);


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


/* [id][requestedit][bindable][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_ForeColor_Proxy( 
    ISmartGraph * This,
    /* [in] */ OLE_COLOR clr);


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


/* [id][requestedit][bindable][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_ForeColor_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ OLE_COLOR *pclr);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_Title_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ BSTR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_Title_Proxy( 
    ISmartGraph * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_xLable_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ BSTR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_xLable_Proxy( 
    ISmartGraph * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_yLable_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ BSTR *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_yLable_Proxy( 
    ISmartGraph * This,
    /* [in] */ BSTR newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_Columns_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ LONG *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_Columns_Proxy( 
    ISmartGraph * This,
    /* [in] */ LONG newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_Rows_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ LONG *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_Rows_Proxy( 
    ISmartGraph * This,
    /* [in] */ LONG newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_MarginBottom_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ LONG *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_MarginBottom_Proxy( 
    ISmartGraph * This,
    /* [in] */ LONG newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_MarginTop_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ LONG *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_MarginTop_Proxy( 
    ISmartGraph * This,
    /* [in] */ LONG newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_MarginRight_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ LONG *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_MarginRight_Proxy( 
    ISmartGraph * This,
    /* [in] */ LONG newVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISmartGraph_get_MarginLeft_Proxy( 
    ISmartGraph * This,
    /* [retval][out] */ LONG *pVal);


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


/* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ISmartGraph_put_MarginLeft_Proxy( 
    ISmartGraph * This,
    /* [in] */ LONG newVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_SetData_Proxy( 
    ISmartGraph * This,
    /* [in] */ DOUBLE *xData,
    /* [in] */ DOUBLE *yData,
    /* [in] */ LONG NumOfPoints,
    /* [in] */ VARIANT_BOOL bResample);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_SetData2_Proxy( 
    ISmartGraph * This,
    /* [in] */ DOUBLE *xData,
    /* [in] */ DOUBLE *yData,
    /* [in] */ LONG NumOfPoints,
    /* [in] */ DOUBLE xMin,
    /* [in] */ DOUBLE xMax,
    /* [in] */ DOUBLE yMin,
    /* [in] */ DOUBLE yMax,
    /* [in] */ VARIANT_BOOL bResample);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_ShowGrid_Proxy( 
    ISmartGraph * This,
    /* [in] */ VARIANT_BOOL bShow);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_UpdateGraph_Proxy( 
    ISmartGraph * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_SetPlotType_Proxy( 
    ISmartGraph * This,
    /* [in] */ LONG nType);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_GetPlotRect_Proxy( 
    ISmartGraph * This,
    /* [out] */ LONG *left,
    /* [out] */ LONG *top,
    /* [out] */ LONG *right,
    /* [out] */ LONG *bottom);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_GetClientRect_Proxy( 
    ISmartGraph * This,
    /* [out] */ LONG *left,
    /* [out] */ LONG *top,
    /* [out] */ LONG *right,
    /* [out] */ LONG *bottom);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_ZoomIn_Proxy( 
    ISmartGraph * This,
    /* [in] */ LONG FromSample,
    /* [in] */ LONG ToSample);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_ZoomInByPercent_Proxy( 
    ISmartGraph * This,
    /* [in] */ DOUBLE FromPercent,
    /* [in] */ DOUBLE ToPercent);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_ZoomOut_Proxy( 
    ISmartGraph * This);


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


/* [helpcontext][helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_Reset_Proxy( 
    ISmartGraph * This);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_GetDisplayedRange_Proxy( 
    ISmartGraph * This,
    /* [out] */ LONGLONG *nStartSample,
    /* [out] */ LONGLONG *nEndSample);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_SetLegendText_Proxy( 
    ISmartGraph * This,
    /* [in] */ BSTR strText,
    /* [in] */ LONG top,
    /* [in] */ LONG left,
    /* [in] */ LONG bottom,
    /* [in] */ LONG right);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_SetParentWnd_Proxy( 
    ISmartGraph * This,
    /* [in] */ OLE_HANDLE hWnd);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISmartGraph_GetPlotType_Proxy( 
    ISmartGraph * This,
    /* [in] */ LONG *PlotType);


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



#endif 	/* __ISmartGraph_INTERFACE_DEFINED__ */



#ifndef __Graph_LIBRARY_DEFINED__
#define __Graph_LIBRARY_DEFINED__

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


EXTERN_C const IID LIBID_Graph;

#ifndef ___ISmartGraphEvents_DISPINTERFACE_DEFINED__
#define ___ISmartGraphEvents_DISPINTERFACE_DEFINED__

/* dispinterface _ISmartGraphEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__ISmartGraphEvents;

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

    MIDL_INTERFACE("1F12078D-03B2-4C25-84CA-3191E7DF3FFB")
    _ISmartGraphEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _ISmartGraphEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _ISmartGraphEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _ISmartGraphEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _ISmartGraphEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _ISmartGraphEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _ISmartGraphEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _ISmartGraphEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _ISmartGraphEvents * This,
            /* [in] */ 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
    } _ISmartGraphEventsVtbl;

    interface _ISmartGraphEvents
    {
        CONST_VTBL struct _ISmartGraphEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

#define _ISmartGraphEvents_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 	/* ___ISmartGraphEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SmartGraph;

#ifdef __cplusplus

class DECLSPEC_UUID("A2919A75-B379-4BBD-8D95-15BEB3BAA140")
SmartGraph;
#endif
#endif /* __Graph_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

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

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


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

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

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) https://shahaab-co.com
Iran (Islamic Republic of) Iran (Islamic Republic of)
Currently I'm working at Dept. of Electrical Engineering in University of Shahrood.
Pattern Recognition (specially OCR), Neural Networks, Image Processing and Machine Vision are my interests. However I'm a PROGRAMMER as well.
BSc: Sharif University of technology @ 2002
MSc. and PhD: Tarbiat Modarres University @ 2006 & 2010 respectively

Personal Blog: Andisheh Online

Religious Blogs: Shia Muslims , Islamic Quotes

Company Site: Shahaab-co
My old Site: Farsi OCR

Comments and Discussions