/*** Autogenerated by WIDL 0.9.22 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 interface IRichEditOle IRichEditOle;
#endif

typedef IRichEditOle *LPRICHEDITOLE;
/*****************************************************************************
 * 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)
interface 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 {
    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
} IRichEditOleVtbl;
interface IRichEditOle {
    const IRichEditOleVtbl* lpVtbl;
};

#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(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_GetObjectCount_Proxy(
    IRichEditOle* This);
void __RPC_STUB IRichEditOle_GetObjectCount_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_GetLinkCount_Proxy(
    IRichEditOle* This);
void __RPC_STUB IRichEditOle_GetLinkCount_Stub(
    IRpcStubBuffer* This,
    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(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_InsertObject_Proxy(
    IRichEditOle* This,
    REOBJECT* lpreobject);
void __RPC_STUB IRichEditOle_InsertObject_Stub(
    IRpcStubBuffer* This,
    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(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_ActivateAs_Proxy(
    IRichEditOle* This,
    REFCLSID rclsid,
    REFCLSID rclsidAs);
void __RPC_STUB IRichEditOle_ActivateAs_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_SetHostNames_Proxy(
    IRichEditOle* This,
    LPCSTR lpstrContainerApp,
    LPCSTR lpstrContainerObj);
void __RPC_STUB IRichEditOle_SetHostNames_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_SetLinkAvailable_Proxy(
    IRichEditOle* This,
    LONG iob,
    BOOL fAvailable);
void __RPC_STUB IRichEditOle_SetLinkAvailable_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_SetDvaspect_Proxy(
    IRichEditOle* This,
    LONG iob,
    DWORD dvaspect);
void __RPC_STUB IRichEditOle_SetDvaspect_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_HandsOffStorage_Proxy(
    IRichEditOle* This,
    LONG iob);
void __RPC_STUB IRichEditOle_HandsOffStorage_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_SaveCompleted_Proxy(
    IRichEditOle* This,
    LONG iob,
    LPSTORAGE lpstg);
void __RPC_STUB IRichEditOle_SaveCompleted_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_InPlaceDeactivate_Proxy(
    IRichEditOle* This);
void __RPC_STUB IRichEditOle_InPlaceDeactivate_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOle_ContextSensitiveHelp_Proxy(
    IRichEditOle* This,
    BOOL fEnterMode);
void __RPC_STUB IRichEditOle_ContextSensitiveHelp_Stub(
    IRpcStubBuffer* This,
    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(
    IRpcStubBuffer* This,
    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(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IRichEditOle_INTERFACE_DEFINED__ */

#ifndef __IRichEditOleCallback_FWD_DEFINED__
#define __IRichEditOleCallback_FWD_DEFINED__
typedef interface IRichEditOleCallback IRichEditOleCallback;
#endif

typedef IRichEditOleCallback *LPRICHEDITOLECALLBACK;
/*****************************************************************************
 * IRichEditOleCallback interface
 */
#ifndef __IRichEditOleCallback_INTERFACE_DEFINED__
#define __IRichEditOleCallback_INTERFACE_DEFINED__

DEFINE_GUID(IID_IRichEditOleCallback, 0x00020d03, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IRichEditOleCallback : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetNewStorage(
        LPSTORAGE* lplpstg) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetInPlaceContext(
        LPOLEINPLACEFRAME* lplpFrame,
        LPOLEINPLACEUIWINDOW* lplpDoc,
        LPOLEINPLACEFRAMEINFO lpFrameInfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE ShowContainerUI(
        BOOL fShow) = 0;

    virtual HRESULT STDMETHODCALLTYPE QueryInsertObject(
        LPCLSID lpclsid,
        LPSTORAGE lpstg,
        LONG cp) = 0;

    virtual HRESULT STDMETHODCALLTYPE DeleteObject(
        LPOLEOBJECT lpoleobj) = 0;

    virtual HRESULT STDMETHODCALLTYPE QueryAcceptData(
        LPDATAOBJECT lpdataobj,
        CLIPFORMAT* lpcfFormat,
        DWORD reco,
        BOOL fReally,
        HGLOBAL hMetaPict) = 0;

    virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(
        BOOL fEnterMode) = 0;

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

    virtual HRESULT STDMETHODCALLTYPE GetDragDropEffect(
        BOOL fDrag,
        DWORD grfKeyState,
        LPDWORD pdwEffect) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetContextMenu(
        WORD seltype,
        LPOLEOBJECT lpoleobj,
        CHARRANGE* lpchrg,
        HMENU* lphmenu) = 0;

};
#else
typedef struct IRichEditOleCallbackVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IRichEditOleCallback methods ***/
    HRESULT (STDMETHODCALLTYPE *GetNewStorage)(
        IRichEditOleCallback* This,
        LPSTORAGE* lplpstg);

    HRESULT (STDMETHODCALLTYPE *GetInPlaceContext)(
        IRichEditOleCallback* This,
        LPOLEINPLACEFRAME* lplpFrame,
        LPOLEINPLACEUIWINDOW* lplpDoc,
        LPOLEINPLACEFRAMEINFO lpFrameInfo);

    HRESULT (STDMETHODCALLTYPE *ShowContainerUI)(
        IRichEditOleCallback* This,
        BOOL fShow);

    HRESULT (STDMETHODCALLTYPE *QueryInsertObject)(
        IRichEditOleCallback* This,
        LPCLSID lpclsid,
        LPSTORAGE lpstg,
        LONG cp);

    HRESULT (STDMETHODCALLTYPE *DeleteObject)(
        IRichEditOleCallback* This,
        LPOLEOBJECT lpoleobj);

    HRESULT (STDMETHODCALLTYPE *QueryAcceptData)(
        IRichEditOleCallback* This,
        LPDATAOBJECT lpdataobj,
        CLIPFORMAT* lpcfFormat,
        DWORD reco,
        BOOL fReally,
        HGLOBAL hMetaPict);

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

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

    HRESULT (STDMETHODCALLTYPE *GetDragDropEffect)(
        IRichEditOleCallback* This,
        BOOL fDrag,
        DWORD grfKeyState,
        LPDWORD pdwEffect);

    HRESULT (STDMETHODCALLTYPE *GetContextMenu)(
        IRichEditOleCallback* This,
        WORD seltype,
        LPOLEOBJECT lpoleobj,
        CHARRANGE* lpchrg,
        HMENU* lphmenu);

    END_INTERFACE
} IRichEditOleCallbackVtbl;
interface IRichEditOleCallback {
    const IRichEditOleCallbackVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IRichEditOleCallback_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IRichEditOleCallback_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IRichEditOleCallback_Release(p) (p)->lpVtbl->Release(p)
/*** IRichEditOleCallback methods ***/
#define IRichEditOleCallback_GetNewStorage(p,a) (p)->lpVtbl->GetNewStorage(p,a)
#define IRichEditOleCallback_GetInPlaceContext(p,a,b,c) (p)->lpVtbl->GetInPlaceContext(p,a,b,c)
#define IRichEditOleCallback_ShowContainerUI(p,a) (p)->lpVtbl->ShowContainerUI(p,a)
#define IRichEditOleCallback_QueryInsertObject(p,a,b,c) (p)->lpVtbl->QueryInsertObject(p,a,b,c)
#define IRichEditOleCallback_DeleteObject(p,a) (p)->lpVtbl->DeleteObject(p,a)
#define IRichEditOleCallback_QueryAcceptData(p,a,b,c,d,e) (p)->lpVtbl->QueryAcceptData(p,a,b,c,d,e)
#define IRichEditOleCallback_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
#define IRichEditOleCallback_GetClipboardData(p,a,b,c) (p)->lpVtbl->GetClipboardData(p,a,b,c)
#define IRichEditOleCallback_GetDragDropEffect(p,a,b,c) (p)->lpVtbl->GetDragDropEffect(p,a,b,c)
#define IRichEditOleCallback_GetContextMenu(p,a,b,c,d) (p)->lpVtbl->GetContextMenu(p,a,b,c,d)
#endif

#endif

HRESULT CALLBACK IRichEditOleCallback_GetNewStorage_Proxy(
    IRichEditOleCallback* This,
    LPSTORAGE* lplpstg);
void __RPC_STUB IRichEditOleCallback_GetNewStorage_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOleCallback_GetInPlaceContext_Proxy(
    IRichEditOleCallback* This,
    LPOLEINPLACEFRAME* lplpFrame,
    LPOLEINPLACEUIWINDOW* lplpDoc,
    LPOLEINPLACEFRAMEINFO lpFrameInfo);
void __RPC_STUB IRichEditOleCallback_GetInPlaceContext_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOleCallback_ShowContainerUI_Proxy(
    IRichEditOleCallback* This,
    BOOL fShow);
void __RPC_STUB IRichEditOleCallback_ShowContainerUI_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOleCallback_QueryInsertObject_Proxy(
    IRichEditOleCallback* This,
    LPCLSID lpclsid,
    LPSTORAGE lpstg,
    LONG cp);
void __RPC_STUB IRichEditOleCallback_QueryInsertObject_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOleCallback_DeleteObject_Proxy(
    IRichEditOleCallback* This,
    LPOLEOBJECT lpoleobj);
void __RPC_STUB IRichEditOleCallback_DeleteObject_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOleCallback_QueryAcceptData_Proxy(
    IRichEditOleCallback* This,
    LPDATAOBJECT lpdataobj,
    CLIPFORMAT* lpcfFormat,
    DWORD reco,
    BOOL fReally,
    HGLOBAL hMetaPict);
void __RPC_STUB IRichEditOleCallback_QueryAcceptData_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOleCallback_ContextSensitiveHelp_Proxy(
    IRichEditOleCallback* This,
    BOOL fEnterMode);
void __RPC_STUB IRichEditOleCallback_ContextSensitiveHelp_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOleCallback_GetClipboardData_Proxy(
    IRichEditOleCallback* This,
    CHARRANGE* lpchrg,
    DWORD reco,
    LPDATAOBJECT* lplpdataobj);
void __RPC_STUB IRichEditOleCallback_GetClipboardData_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOleCallback_GetDragDropEffect_Proxy(
    IRichEditOleCallback* This,
    BOOL fDrag,
    DWORD grfKeyState,
    LPDWORD pdwEffect);
void __RPC_STUB IRichEditOleCallback_GetDragDropEffect_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK IRichEditOleCallback_GetContextMenu_Proxy(
    IRichEditOleCallback* This,
    WORD seltype,
    LPOLEOBJECT lpoleobj,
    CHARRANGE* lpchrg,
    HMENU* lphmenu);
void __RPC_STUB IRichEditOleCallback_GetContextMenu_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IRichEditOleCallback_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */

unsigned long   __RPC_USER HMENU_UserSize     (unsigned long *, unsigned long,   HMENU *);
unsigned char * __RPC_USER HMENU_UserMarshal  (unsigned long *, unsigned char *, HMENU *);
unsigned char * __RPC_USER HMENU_UserUnmarshal(unsigned long *, unsigned char *, HMENU *);
void            __RPC_USER HMENU_UserFree     (unsigned long *, HMENU *);
unsigned long   __RPC_USER HACCEL_UserSize     (unsigned long *, unsigned long,   HACCEL *);
unsigned char * __RPC_USER HACCEL_UserMarshal  (unsigned long *, unsigned char *, HACCEL *);
unsigned char * __RPC_USER HACCEL_UserUnmarshal(unsigned long *, unsigned char *, HACCEL *);
void            __RPC_USER HACCEL_UserFree     (unsigned long *, HACCEL *);
unsigned long   __RPC_USER HWND_UserSize     (unsigned long *, unsigned long,   HWND *);
unsigned char * __RPC_USER HWND_UserMarshal  (unsigned long *, unsigned char *, HWND *);
unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND *);
void            __RPC_USER HWND_UserFree     (unsigned long *, HWND *);
unsigned long   __RPC_USER HGLOBAL_UserSize     (unsigned long *, unsigned long,   HGLOBAL *);
unsigned char * __RPC_USER HGLOBAL_UserMarshal  (unsigned long *, unsigned char *, HGLOBAL *);
unsigned char * __RPC_USER HGLOBAL_UserUnmarshal(unsigned long *, unsigned char *, HGLOBAL *);
void            __RPC_USER HGLOBAL_UserFree     (unsigned long *, HGLOBAL *);
unsigned long   __RPC_USER CLIPFORMAT_UserSize     (unsigned long *, unsigned long,   CLIPFORMAT *);
unsigned char * __RPC_USER CLIPFORMAT_UserMarshal  (unsigned long *, unsigned char *, CLIPFORMAT *);
unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(unsigned long *, unsigned char *, CLIPFORMAT *);
void            __RPC_USER CLIPFORMAT_UserFree     (unsigned long *, CLIPFORMAT *);

/* End additional prototypes */

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