/*** Autogenerated by WIDL 0.1 from richole.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>

#ifndef __WIDL_RICHOLE_H
#define __WIDL_RICHOLE_H
#ifdef __cplusplus
extern "C" {
#endif
#if 0
#include <oleidl.h>
#endif
#define REO_GETOBJ_NO_INTERFACES        0x00000000
#define REO_GETOBJ_POLEOBJ              0x00000001
#define REO_GETOBJ_PSTG                 0x00000002
#define REO_GETOBJ_POLESITE             0x00000004
#define REO_GETOBJ_ALL_INTERFACES       0x00000007
#define REO_CP_SELECTION                0xFFFFFFFF
#define REO_IOB_SELECTION               0xFFFFFFFF
#define REO_IOB_USE_CP                  0xFFFFFFFE
#define REO_NULL                        0x00000000
#define REO_READWRITEMASK               0x0000003F
#define REO_DONTNEEDPALETTE             0x00000020
#define REO_BLANK                       0x00000010
#define REO_DYNAMICSIZE                 0x00000008
#define REO_INVERTEDSELECT              0x00000004
#define REO_BELOWBASELINE               0x00000002
#define REO_RESIZABLE                   0x00000001
#define REO_LINK                        0x80000000
#define REO_STATIC                      0x40000000
#define REO_SELECTED                    0x08000000
#define REO_OPEN                        0x04000000
#define REO_INPLACEACTIVE               0x02000000
#define REO_HILITED                     0x01000000
#define REO_LINKAVAILABLE               0x00800000
#define REO_GETMETAFILE                 0x00400000
#define RECO_PASTE            0x00000000
#define RECO_DROP             0x00000001
#define RECO_COPY             0x00000002
#define RECO_CUT              0x00000003
#define RECO_DRAG             0x00000004
typedef struct _reobject {
    DWORD cbStruct;
    LONG cp;
    CLSID clsid;
    LPOLEOBJECT poleobj;
    LPSTORAGE pstg;
    LPOLECLIENTSITE polesite;
    SIZEL sizel;
    DWORD dvaspect;
    DWORD dwFlags;
    DWORD dwUser;
} REOBJECT;

#ifndef __RICHEDIT_CHARRANGE_DEFINED
#define __RICHEDIT_CHARRANGE_DEFINED
typedef struct _charrange {
    LONG cpMin;
    LONG cpMax;
} CHARRANGE;

#endif /* __RICHEDIT_CHARRANGE_DEFINED */
#ifndef __IRichEditOle_FWD_DEFINED__
#define __IRichEditOle_FWD_DEFINED__
typedef struct IRichEditOle IRichEditOle;
#endif

/*****************************************************************************
 * IRichEditOle interface
 */
#ifndef __IRichEditOle_INTERFACE_DEFINED__
#define __IRichEditOle_INTERFACE_DEFINED__

DEFINE_GUID(IID_IRichEditOle, 0x00020d00, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IRichEditOle : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetClientSite(
        LPOLECLIENTSITE* lplpolesite) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetObjectCount(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetLinkCount(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetObject(
        LONG iob,
        REOBJECT* lpreobject,
        DWORD dwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE InsertObject(
        REOBJECT* lpreobject) = 0;

    virtual HRESULT STDMETHODCALLTYPE ConvertObject(
        LONG iob,
        REFCLSID rclsidNew,
        LPCSTR lpstrUserTypeNew) = 0;

    virtual HRESULT STDMETHODCALLTYPE ActivateAs(
        REFCLSID rclsid,
        REFCLSID rclsidAs) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetHostNames(
        LPCSTR lpstrContainerApp,
        LPCSTR lpstrContainerObj) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetLinkAvailable(
        LONG iob,
        BOOL fAvailable) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetDvaspect(
        LONG iob,
        DWORD dvaspect) = 0;

    virtual HRESULT STDMETHODCALLTYPE HandsOffStorage(
        LONG iob) = 0;

    virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
        LONG iob,
        LPSTORAGE lpstg) = 0;

    virtual HRESULT STDMETHODCALLTYPE InPlaceDeactivate(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(
        BOOL fEnterMode) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetClipboardData(
        CHARRANGE* lpchrg,
        DWORD reco,
        LPDATAOBJECT* lplpdataobj) = 0;

    virtual HRESULT STDMETHODCALLTYPE ImportDataObject(
        LPDATAOBJECT lpdataobj,
        CLIPFORMAT cf,
        HGLOBAL hMetaPict) = 0;

};
#else
typedef struct IRichEditOleVtbl IRichEditOleVtbl;
struct IRichEditOle {
    const IRichEditOleVtbl* lpVtbl;
};
struct IRichEditOleVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IRichEditOle* This,
        REFIID riid,
        void** ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IRichEditOle* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IRichEditOle* This);

    /*** IRichEditOle methods ***/
    HRESULT (STDMETHODCALLTYPE *GetClientSite)(
        IRichEditOle* This,
        LPOLECLIENTSITE* lplpolesite);

    HRESULT (STDMETHODCALLTYPE *GetObjectCount)(
        IRichEditOle* This);

    HRESULT (STDMETHODCALLTYPE *GetLinkCount)(
        IRichEditOle* This);

    HRESULT (STDMETHODCALLTYPE *GetObject)(
        IRichEditOle* This,
        LONG iob,
        REOBJECT* lpreobject,
        DWORD dwFlags);

    HRESULT (STDMETHODCALLTYPE *InsertObject)(
        IRichEditOle* This,
        REOBJECT* lpreobject);

    HRESULT (STDMETHODCALLTYPE *ConvertObject)(
        IRichEditOle* This,
        LONG iob,
        REFCLSID rclsidNew,
        LPCSTR lpstrUserTypeNew);

    HRESULT (STDMETHODCALLTYPE *ActivateAs)(
        IRichEditOle* This,
        REFCLSID rclsid,
        REFCLSID rclsidAs);

    HRESULT (STDMETHODCALLTYPE *SetHostNames)(
        IRichEditOle* This,
        LPCSTR lpstrContainerApp,
        LPCSTR lpstrContainerObj);

    HRESULT (STDMETHODCALLTYPE *SetLinkAvailable)(
        IRichEditOle* This,
        LONG iob,
        BOOL fAvailable);

    HRESULT (STDMETHODCALLTYPE *SetDvaspect)(
        IRichEditOle* This,
        LONG iob,
        DWORD dvaspect);

    HRESULT (STDMETHODCALLTYPE *HandsOffStorage)(
        IRichEditOle* This,
        LONG iob);

    HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
        IRichEditOle* This,
        LONG iob,
        LPSTORAGE lpstg);

    HRESULT (STDMETHODCALLTYPE *InPlaceDeactivate)(
        IRichEditOle* This);

    HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
        IRichEditOle* This,
        BOOL fEnterMode);

    HRESULT (STDMETHODCALLTYPE *GetClipboardData)(
        IRichEditOle* This,
        CHARRANGE* lpchrg,
        DWORD reco,
        LPDATAOBJECT* lplpdataobj);

    HRESULT (STDMETHODCALLTYPE *ImportDataObject)(
        IRichEditOle* This,
        LPDATAOBJECT lpdataobj,
        CLIPFORMAT cf,
        HGLOBAL hMetaPict);

    END_INTERFACE
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IRichEditOle_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IRichEditOle_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IRichEditOle_Release(p) (p)->lpVtbl->Release(p)
/*** IRichEditOle methods ***/
#define IRichEditOle_GetClientSite(p,a) (p)->lpVtbl->GetClientSite(p,a)
#define IRichEditOle_GetObjectCount(p) (p)->lpVtbl->GetObjectCount(p)
#define IRichEditOle_GetLinkCount(p) (p)->lpVtbl->GetLinkCount(p)
#define IRichEditOle_GetObject(p,a,b,c) (p)->lpVtbl->GetObject(p,a,b,c)
#define IRichEditOle_InsertObject(p,a) (p)->lpVtbl->InsertObject(p,a)
#define IRichEditOle_ConvertObject(p,a,b,c) (p)->lpVtbl->ConvertObject(p,a,b,c)
#define IRichEditOle_ActivateAs(p,a,b) (p)->lpVtbl->ActivateAs(p,a,b)
#define IRichEditOle_SetHostNames(p,a,b) (p)->lpVtbl->SetHostNames(p,a,b)
#define IRichEditOle_SetLinkAvailable(p,a,b) (p)->lpVtbl->SetLinkAvailable(p,a,b)
#define IRichEditOle_SetDvaspect(p,a,b) (p)->lpVtbl->SetDvaspect(p,a,b)
#define IRichEditOle_HandsOffStorage(p,a) (p)->lpVtbl->HandsOffStorage(p,a)
#define IRichEditOle_SaveCompleted(p,a,b) (p)->lpVtbl->SaveCompleted(p,a,b)
#define IRichEditOle_InPlaceDeactivate(p) (p)->lpVtbl->InPlaceDeactivate(p)
#define IRichEditOle_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
#define IRichEditOle_GetClipboardData(p,a,b,c) (p)->lpVtbl->GetClipboardData(p,a,b,c)
#define IRichEditOle_ImportDataObject(p,a,b,c) (p)->lpVtbl->ImportDataObject(p,a,b,c)
#endif

#endif

HRESULT CALLBACK IRichEditOle_GetClientSite_Proxy(
    IRichEditOle* This,
    LPOLECLIENTSITE* lplpolesite);
void __RPC_STUB IRichEditOle_GetClientSite_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_GetObjectCount_Proxy(
    IRichEditOle* This);
void __RPC_STUB IRichEditOle_GetObjectCount_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_GetLinkCount_Proxy(
    IRichEditOle* This);
void __RPC_STUB IRichEditOle_GetLinkCount_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_GetObject_Proxy(
    IRichEditOle* This,
    LONG iob,
    REOBJECT* lpreobject,
    DWORD dwFlags);
void __RPC_STUB IRichEditOle_GetObject_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_InsertObject_Proxy(
    IRichEditOle* This,
    REOBJECT* lpreobject);
void __RPC_STUB IRichEditOle_InsertObject_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_ConvertObject_Proxy(
    IRichEditOle* This,
    LONG iob,
    REFCLSID rclsidNew,
    LPCSTR lpstrUserTypeNew);
void __RPC_STUB IRichEditOle_ConvertObject_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_ActivateAs_Proxy(
    IRichEditOle* This,
    REFCLSID rclsid,
    REFCLSID rclsidAs);
void __RPC_STUB IRichEditOle_ActivateAs_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_SetHostNames_Proxy(
    IRichEditOle* This,
    LPCSTR lpstrContainerApp,
    LPCSTR lpstrContainerObj);
void __RPC_STUB IRichEditOle_SetHostNames_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_SetLinkAvailable_Proxy(
    IRichEditOle* This,
    LONG iob,
    BOOL fAvailable);
void __RPC_STUB IRichEditOle_SetLinkAvailable_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_SetDvaspect_Proxy(
    IRichEditOle* This,
    LONG iob,
    DWORD dvaspect);
void __RPC_STUB IRichEditOle_SetDvaspect_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_HandsOffStorage_Proxy(
    IRichEditOle* This,
    LONG iob);
void __RPC_STUB IRichEditOle_HandsOffStorage_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_SaveCompleted_Proxy(
    IRichEditOle* This,
    LONG iob,
    LPSTORAGE lpstg);
void __RPC_STUB IRichEditOle_SaveCompleted_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_InPlaceDeactivate_Proxy(
    IRichEditOle* This);
void __RPC_STUB IRichEditOle_InPlaceDeactivate_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_ContextSensitiveHelp_Proxy(
    IRichEditOle* This,
    BOOL fEnterMode);
void __RPC_STUB IRichEditOle_ContextSensitiveHelp_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_GetClipboardData_Proxy(
    IRichEditOle* This,
    CHARRANGE* lpchrg,
    DWORD reco,
    LPDATAOBJECT* lplpdataobj);
void __RPC_STUB IRichEditOle_GetClipboardData_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_ImportDataObject_Proxy(
    IRichEditOle* This,
    LPDATAOBJECT lpdataobj,
    CLIPFORMAT cf,
    HGLOBAL hMetaPict);
void __RPC_STUB IRichEditOle_ImportDataObject_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IRichEditOle_INTERFACE_DEFINED__ */

#ifdef __cplusplus
}
#endif
#endif /* __WIDL_RICHOLE_H */
