/*** Autogenerated by WIDL 5.15 from ../../wine/include/dhtmled.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __dhtmled_h__
#define __dhtmled_h__

/* Forward declarations */

#ifndef __IDHTMLSafe_FWD_DEFINED__
#define __IDHTMLSafe_FWD_DEFINED__
typedef interface IDHTMLSafe IDHTMLSafe;
#ifdef __cplusplus
interface IDHTMLSafe;
#endif /* __cplusplus */
#endif

#ifndef ___DHTMLSafeEvents_FWD_DEFINED__
#define ___DHTMLSafeEvents_FWD_DEFINED__
typedef interface _DHTMLSafeEvents _DHTMLSafeEvents;
#ifdef __cplusplus
interface _DHTMLSafeEvents;
#endif /* __cplusplus */
#endif

#ifndef __DHTMLSafe_FWD_DEFINED__
#define __DHTMLSafe_FWD_DEFINED__
#ifdef __cplusplus
typedef class DHTMLSafe DHTMLSafe;
#else
typedef struct DHTMLSafe DHTMLSafe;
#endif /* defined __cplusplus */
#endif /* defined __DHTMLSafe_FWD_DEFINED__ */

#ifndef __IDHTMLEdit_FWD_DEFINED__
#define __IDHTMLEdit_FWD_DEFINED__
typedef interface IDHTMLEdit IDHTMLEdit;
#ifdef __cplusplus
interface IDHTMLEdit;
#endif /* __cplusplus */
#endif

#ifndef ___DHTMLEditEvents_FWD_DEFINED__
#define ___DHTMLEditEvents_FWD_DEFINED__
typedef interface _DHTMLEditEvents _DHTMLEditEvents;
#ifdef __cplusplus
interface _DHTMLEditEvents;
#endif /* __cplusplus */
#endif

#ifndef __DHTMLEdit_FWD_DEFINED__
#define __DHTMLEdit_FWD_DEFINED__
#ifdef __cplusplus
typedef class DHTMLEdit DHTMLEdit;
#else
typedef struct DHTMLEdit DHTMLEdit;
#endif /* defined __cplusplus */
#endif /* defined __DHTMLEdit_FWD_DEFINED__ */

/* Headers for imported files */

#include <oaidl.h>
#include <ocidl.h>
#include <docobj.h>
#include <mshtml.h>

#ifdef __cplusplus
extern "C" {
#endif


DEFINE_GUID(LIBID_DHTMLEDLib, 0x683364a1, 0xb37d, 0x11d1, 0xad,0xc5, 0x00,0x60,0x08,0xa5,0x84,0x8c);

typedef enum DHTMLEDITAPPEARANCE {
    DEAPPEARANCE_FLAT = 0,
    DEAPPEARANCE_3D = 1
} DHTMLEDITAPPEARANCE;
typedef enum DHTMLEDITCMDF {
    DECMDF_NOTSUPPORTED = 0,
    DECMDF_DISABLED = 1,
    DECMDF_ENABLED = 3,
    DECMDF_LATCHED = 7,
    DECMDF_NINCHED = 11
} DHTMLEDITCMDF;
typedef enum DHTMLEDITCMDID {
    DECMD_BOLD = 5000,
    DECMD_COPY = 5002,
    DECMD_CUT = 5003,
    DECMD_DELETE = 5004,
    DECMD_DELETECELLS = 5005,
    DECMD_DELETECOLS = 5006,
    DECMD_DELETEROWS = 5007,
    DECMD_FINDTEXT = 5008,
    DECMD_FONT = 5009,
    DECMD_GETBACKCOLOR = 5010,
    DECMD_GETBLOCKFMT = 5011,
    DECMD_GETBLOCKFMTNAMES = 5012,
    DECMD_GETFONTNAME = 5013,
    DECMD_GETFONTSIZE = 5014,
    DECMD_GETFORECOLOR = 5015,
    DECMD_HYPERLINK = 5016,
    DECMD_IMAGE = 5017,
    DECMD_INDENT = 5018,
    DECMD_INSERTCELL = 5019,
    DECMD_INSERTCOL = 5020,
    DECMD_INSERTROW = 5021,
    DECMD_INSERTTABLE = 5022,
    DECMD_ITALIC = 5023,
    DECMD_JUSTIFYCENTER = 5024,
    DECMD_JUSTIFYLEFT = 5025,
    DECMD_JUSTIFYRIGHT = 5026,
    DECMD_LOCK_ELEMENT = 5027,
    DECMD_MAKE_ABSOLUTE = 5028,
    DECMD_MERGECELLS = 5029,
    DECMD_ORDERLIST = 5030,
    DECMD_OUTDENT = 5031,
    DECMD_PASTE = 5032,
    DECMD_REDO = 5033,
    DECMD_REMOVEFORMAT = 5034,
    DECMD_SELECTALL = 5035,
    DECMD_SEND_BACKWARD = 5036,
    DECMD_BRING_FORWARD = 5037,
    DECMD_SEND_BELOW_TEXT = 5038,
    DECMD_BRING_ABOVE_TEXT = 5039,
    DECMD_SEND_TO_BACK = 5040,
    DECMD_BRING_TO_FRONT = 5041,
    DECMD_SETBACKCOLOR = 5042,
    DECMD_SETBLOCKFMT = 5043,
    DECMD_SETFONTNAME = 5044,
    DECMD_SETFONTSIZE = 5045,
    DECMD_SETFORECOLOR = 5046,
    DECMD_SPLITCELL = 5047,
    DECMD_UNDERLINE = 5048,
    DECMD_UNDO = 5049,
    DECMD_UNLINK = 5050,
    DECMD_UNORDERLIST = 5051,
    DECMD_PROPERTIES = 5052
} DHTMLEDITCMDID;
/*****************************************************************************
 * IDHTMLSafe interface
 */
#ifndef __IDHTMLSafe_INTERFACE_DEFINED__
#define __IDHTMLSafe_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDHTMLSafe, 0xce04b590, 0x2b1f, 0x11d2, 0x8d,0x1e, 0x00,0xa0,0xc9,0x59,0xbc,0x0a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ce04b590-2b1f-11d2-8d1e-00a0c959bc0a")
IDHTMLSafe : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE ExecCommand(
        DHTMLEDITCMDID cmd_id,
        OLECMDEXECOPT options,
        VARIANT *code_in,
        VARIANT *code_out) = 0;

    virtual HRESULT STDMETHODCALLTYPE QueryStatus(
        DHTMLEDITCMDID cmd_id,
        DHTMLEDITCMDF *status) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetContextMenu(
        VARIANT *strings,
        VARIANT *states) = 0;

    virtual HRESULT STDMETHODCALLTYPE NewDocument(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE LoadURL(
        BSTR url) = 0;

    virtual HRESULT STDMETHODCALLTYPE FilterSourceCode(
        BSTR in,
        BSTR *out) = 0;

    virtual HRESULT STDMETHODCALLTYPE Refresh(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_DOM(
        IHTMLDocument2 **value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_DocumentHTML(
        BSTR *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_DocumentHTML(
        BSTR html) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ActivateApplets(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ActivateApplets(
        VARIANT_BOOL value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ActivateActiveXControls(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ActivateActiveXControls(
        VARIANT_BOOL value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ActivateDTCs(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ActivateDTCs(
        VARIANT_BOOL value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ShowDetails(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ShowDetails(
        VARIANT_BOOL value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ShowBorders(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ShowBorders(
        VARIANT_BOOL value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Appearance(
        DHTMLEDITAPPEARANCE *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Appearance(
        DHTMLEDITAPPEARANCE value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Scrollbars(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_Scrollbars(
        VARIANT_BOOL value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_ScrollbarAppearance(
        DHTMLEDITAPPEARANCE *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_ScrollbarAppearance(
        DHTMLEDITAPPEARANCE value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SourceCodePreservation(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SourceCodePreservation(
        VARIANT_BOOL value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_AbsoluteDropMode(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_AbsoluteDropMode(
        VARIANT_BOOL value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SnapToGridX(
        LONG *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SnapToGridX(
        LONG value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SnapToGridY(
        LONG *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SnapToGridY(
        LONG value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_SnapToGrid(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_SnapToGrid(
        VARIANT_BOOL value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_IsDirty(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_CurrentDocumentPath(
        BSTR *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_BaseURL(
        BSTR *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_BaseURL(
        BSTR value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_DocumentTitle(
        BSTR *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_UseDivOnCarriageReturn(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_UseDivOnCarriageReturn(
        VARIANT_BOOL value) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_Busy(
        VARIANT_BOOL *value) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDHTMLSafe, 0xce04b590, 0x2b1f, 0x11d2, 0x8d,0x1e, 0x00,0xa0,0xc9,0x59,0xbc,0x0a)
#endif
#else
typedef struct IDHTMLSafeVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDHTMLSafe *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDHTMLSafe *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDHTMLSafe *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDHTMLSafe *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDHTMLSafe methods ***/
    HRESULT (STDMETHODCALLTYPE *ExecCommand)(
        IDHTMLSafe *This,
        DHTMLEDITCMDID cmd_id,
        OLECMDEXECOPT options,
        VARIANT *code_in,
        VARIANT *code_out);

    HRESULT (STDMETHODCALLTYPE *QueryStatus)(
        IDHTMLSafe *This,
        DHTMLEDITCMDID cmd_id,
        DHTMLEDITCMDF *status);

    HRESULT (STDMETHODCALLTYPE *SetContextMenu)(
        IDHTMLSafe *This,
        VARIANT *strings,
        VARIANT *states);

    HRESULT (STDMETHODCALLTYPE *NewDocument)(
        IDHTMLSafe *This);

    HRESULT (STDMETHODCALLTYPE *LoadURL)(
        IDHTMLSafe *This,
        BSTR url);

    HRESULT (STDMETHODCALLTYPE *FilterSourceCode)(
        IDHTMLSafe *This,
        BSTR in,
        BSTR *out);

    HRESULT (STDMETHODCALLTYPE *Refresh)(
        IDHTMLSafe *This);

    HRESULT (STDMETHODCALLTYPE *get_DOM)(
        IDHTMLSafe *This,
        IHTMLDocument2 **value);

    HRESULT (STDMETHODCALLTYPE *get_DocumentHTML)(
        IDHTMLSafe *This,
        BSTR *value);

    HRESULT (STDMETHODCALLTYPE *put_DocumentHTML)(
        IDHTMLSafe *This,
        BSTR html);

    HRESULT (STDMETHODCALLTYPE *get_ActivateApplets)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_ActivateApplets)(
        IDHTMLSafe *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_ActivateActiveXControls)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_ActivateActiveXControls)(
        IDHTMLSafe *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_ActivateDTCs)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_ActivateDTCs)(
        IDHTMLSafe *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_ShowDetails)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_ShowDetails)(
        IDHTMLSafe *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_ShowBorders)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_ShowBorders)(
        IDHTMLSafe *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_Appearance)(
        IDHTMLSafe *This,
        DHTMLEDITAPPEARANCE *value);

    HRESULT (STDMETHODCALLTYPE *put_Appearance)(
        IDHTMLSafe *This,
        DHTMLEDITAPPEARANCE value);

    HRESULT (STDMETHODCALLTYPE *get_Scrollbars)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_Scrollbars)(
        IDHTMLSafe *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_ScrollbarAppearance)(
        IDHTMLSafe *This,
        DHTMLEDITAPPEARANCE *value);

    HRESULT (STDMETHODCALLTYPE *put_ScrollbarAppearance)(
        IDHTMLSafe *This,
        DHTMLEDITAPPEARANCE value);

    HRESULT (STDMETHODCALLTYPE *get_SourceCodePreservation)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_SourceCodePreservation)(
        IDHTMLSafe *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_AbsoluteDropMode)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_AbsoluteDropMode)(
        IDHTMLSafe *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_SnapToGridX)(
        IDHTMLSafe *This,
        LONG *value);

    HRESULT (STDMETHODCALLTYPE *put_SnapToGridX)(
        IDHTMLSafe *This,
        LONG value);

    HRESULT (STDMETHODCALLTYPE *get_SnapToGridY)(
        IDHTMLSafe *This,
        LONG *value);

    HRESULT (STDMETHODCALLTYPE *put_SnapToGridY)(
        IDHTMLSafe *This,
        LONG value);

    HRESULT (STDMETHODCALLTYPE *get_SnapToGrid)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_SnapToGrid)(
        IDHTMLSafe *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_IsDirty)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *get_CurrentDocumentPath)(
        IDHTMLSafe *This,
        BSTR *value);

    HRESULT (STDMETHODCALLTYPE *get_BaseURL)(
        IDHTMLSafe *This,
        BSTR *value);

    HRESULT (STDMETHODCALLTYPE *put_BaseURL)(
        IDHTMLSafe *This,
        BSTR value);

    HRESULT (STDMETHODCALLTYPE *get_DocumentTitle)(
        IDHTMLSafe *This,
        BSTR *value);

    HRESULT (STDMETHODCALLTYPE *get_UseDivOnCarriageReturn)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_UseDivOnCarriageReturn)(
        IDHTMLSafe *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_Busy)(
        IDHTMLSafe *This,
        VARIANT_BOOL *value);

    END_INTERFACE
} IDHTMLSafeVtbl;

interface IDHTMLSafe {
    CONST_VTBL IDHTMLSafeVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDHTMLSafe_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDHTMLSafe_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDHTMLSafe_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDHTMLSafe_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDHTMLSafe_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDHTMLSafe_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDHTMLSafe_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDHTMLSafe methods ***/
#define IDHTMLSafe_ExecCommand(This,cmd_id,options,code_in,code_out) (This)->lpVtbl->ExecCommand(This,cmd_id,options,code_in,code_out)
#define IDHTMLSafe_QueryStatus(This,cmd_id,status) (This)->lpVtbl->QueryStatus(This,cmd_id,status)
#define IDHTMLSafe_SetContextMenu(This,strings,states) (This)->lpVtbl->SetContextMenu(This,strings,states)
#define IDHTMLSafe_NewDocument(This) (This)->lpVtbl->NewDocument(This)
#define IDHTMLSafe_LoadURL(This,url) (This)->lpVtbl->LoadURL(This,url)
#define IDHTMLSafe_FilterSourceCode(This,in,out) (This)->lpVtbl->FilterSourceCode(This,in,out)
#define IDHTMLSafe_Refresh(This) (This)->lpVtbl->Refresh(This)
#define IDHTMLSafe_get_DOM(This,value) (This)->lpVtbl->get_DOM(This,value)
#define IDHTMLSafe_get_DocumentHTML(This,value) (This)->lpVtbl->get_DocumentHTML(This,value)
#define IDHTMLSafe_put_DocumentHTML(This,html) (This)->lpVtbl->put_DocumentHTML(This,html)
#define IDHTMLSafe_get_ActivateApplets(This,value) (This)->lpVtbl->get_ActivateApplets(This,value)
#define IDHTMLSafe_put_ActivateApplets(This,value) (This)->lpVtbl->put_ActivateApplets(This,value)
#define IDHTMLSafe_get_ActivateActiveXControls(This,value) (This)->lpVtbl->get_ActivateActiveXControls(This,value)
#define IDHTMLSafe_put_ActivateActiveXControls(This,value) (This)->lpVtbl->put_ActivateActiveXControls(This,value)
#define IDHTMLSafe_get_ActivateDTCs(This,value) (This)->lpVtbl->get_ActivateDTCs(This,value)
#define IDHTMLSafe_put_ActivateDTCs(This,value) (This)->lpVtbl->put_ActivateDTCs(This,value)
#define IDHTMLSafe_get_ShowDetails(This,value) (This)->lpVtbl->get_ShowDetails(This,value)
#define IDHTMLSafe_put_ShowDetails(This,value) (This)->lpVtbl->put_ShowDetails(This,value)
#define IDHTMLSafe_get_ShowBorders(This,value) (This)->lpVtbl->get_ShowBorders(This,value)
#define IDHTMLSafe_put_ShowBorders(This,value) (This)->lpVtbl->put_ShowBorders(This,value)
#define IDHTMLSafe_get_Appearance(This,value) (This)->lpVtbl->get_Appearance(This,value)
#define IDHTMLSafe_put_Appearance(This,value) (This)->lpVtbl->put_Appearance(This,value)
#define IDHTMLSafe_get_Scrollbars(This,value) (This)->lpVtbl->get_Scrollbars(This,value)
#define IDHTMLSafe_put_Scrollbars(This,value) (This)->lpVtbl->put_Scrollbars(This,value)
#define IDHTMLSafe_get_ScrollbarAppearance(This,value) (This)->lpVtbl->get_ScrollbarAppearance(This,value)
#define IDHTMLSafe_put_ScrollbarAppearance(This,value) (This)->lpVtbl->put_ScrollbarAppearance(This,value)
#define IDHTMLSafe_get_SourceCodePreservation(This,value) (This)->lpVtbl->get_SourceCodePreservation(This,value)
#define IDHTMLSafe_put_SourceCodePreservation(This,value) (This)->lpVtbl->put_SourceCodePreservation(This,value)
#define IDHTMLSafe_get_AbsoluteDropMode(This,value) (This)->lpVtbl->get_AbsoluteDropMode(This,value)
#define IDHTMLSafe_put_AbsoluteDropMode(This,value) (This)->lpVtbl->put_AbsoluteDropMode(This,value)
#define IDHTMLSafe_get_SnapToGridX(This,value) (This)->lpVtbl->get_SnapToGridX(This,value)
#define IDHTMLSafe_put_SnapToGridX(This,value) (This)->lpVtbl->put_SnapToGridX(This,value)
#define IDHTMLSafe_get_SnapToGridY(This,value) (This)->lpVtbl->get_SnapToGridY(This,value)
#define IDHTMLSafe_put_SnapToGridY(This,value) (This)->lpVtbl->put_SnapToGridY(This,value)
#define IDHTMLSafe_get_SnapToGrid(This,value) (This)->lpVtbl->get_SnapToGrid(This,value)
#define IDHTMLSafe_put_SnapToGrid(This,value) (This)->lpVtbl->put_SnapToGrid(This,value)
#define IDHTMLSafe_get_IsDirty(This,value) (This)->lpVtbl->get_IsDirty(This,value)
#define IDHTMLSafe_get_CurrentDocumentPath(This,value) (This)->lpVtbl->get_CurrentDocumentPath(This,value)
#define IDHTMLSafe_get_BaseURL(This,value) (This)->lpVtbl->get_BaseURL(This,value)
#define IDHTMLSafe_put_BaseURL(This,value) (This)->lpVtbl->put_BaseURL(This,value)
#define IDHTMLSafe_get_DocumentTitle(This,value) (This)->lpVtbl->get_DocumentTitle(This,value)
#define IDHTMLSafe_get_UseDivOnCarriageReturn(This,value) (This)->lpVtbl->get_UseDivOnCarriageReturn(This,value)
#define IDHTMLSafe_put_UseDivOnCarriageReturn(This,value) (This)->lpVtbl->put_UseDivOnCarriageReturn(This,value)
#define IDHTMLSafe_get_Busy(This,value) (This)->lpVtbl->get_Busy(This,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDHTMLSafe_QueryInterface(IDHTMLSafe* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDHTMLSafe_AddRef(IDHTMLSafe* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDHTMLSafe_Release(IDHTMLSafe* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IDHTMLSafe_GetTypeInfoCount(IDHTMLSafe* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IDHTMLSafe_GetTypeInfo(IDHTMLSafe* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IDHTMLSafe_GetIDsOfNames(IDHTMLSafe* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IDHTMLSafe_Invoke(IDHTMLSafe* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDHTMLSafe methods ***/
static FORCEINLINE HRESULT IDHTMLSafe_ExecCommand(IDHTMLSafe* This,DHTMLEDITCMDID cmd_id,OLECMDEXECOPT options,VARIANT *code_in,VARIANT *code_out) {
    return This->lpVtbl->ExecCommand(This,cmd_id,options,code_in,code_out);
}
static FORCEINLINE HRESULT IDHTMLSafe_QueryStatus(IDHTMLSafe* This,DHTMLEDITCMDID cmd_id,DHTMLEDITCMDF *status) {
    return This->lpVtbl->QueryStatus(This,cmd_id,status);
}
static FORCEINLINE HRESULT IDHTMLSafe_SetContextMenu(IDHTMLSafe* This,VARIANT *strings,VARIANT *states) {
    return This->lpVtbl->SetContextMenu(This,strings,states);
}
static FORCEINLINE HRESULT IDHTMLSafe_NewDocument(IDHTMLSafe* This) {
    return This->lpVtbl->NewDocument(This);
}
static FORCEINLINE HRESULT IDHTMLSafe_LoadURL(IDHTMLSafe* This,BSTR url) {
    return This->lpVtbl->LoadURL(This,url);
}
static FORCEINLINE HRESULT IDHTMLSafe_FilterSourceCode(IDHTMLSafe* This,BSTR in,BSTR *out) {
    return This->lpVtbl->FilterSourceCode(This,in,out);
}
static FORCEINLINE HRESULT IDHTMLSafe_Refresh(IDHTMLSafe* This) {
    return This->lpVtbl->Refresh(This);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_DOM(IDHTMLSafe* This,IHTMLDocument2 **value) {
    return This->lpVtbl->get_DOM(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_DocumentHTML(IDHTMLSafe* This,BSTR *value) {
    return This->lpVtbl->get_DocumentHTML(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_DocumentHTML(IDHTMLSafe* This,BSTR html) {
    return This->lpVtbl->put_DocumentHTML(This,html);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_ActivateApplets(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_ActivateApplets(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_ActivateApplets(IDHTMLSafe* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_ActivateApplets(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_ActivateActiveXControls(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_ActivateActiveXControls(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_ActivateActiveXControls(IDHTMLSafe* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_ActivateActiveXControls(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_ActivateDTCs(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_ActivateDTCs(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_ActivateDTCs(IDHTMLSafe* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_ActivateDTCs(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_ShowDetails(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_ShowDetails(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_ShowDetails(IDHTMLSafe* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_ShowDetails(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_ShowBorders(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_ShowBorders(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_ShowBorders(IDHTMLSafe* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_ShowBorders(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_Appearance(IDHTMLSafe* This,DHTMLEDITAPPEARANCE *value) {
    return This->lpVtbl->get_Appearance(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_Appearance(IDHTMLSafe* This,DHTMLEDITAPPEARANCE value) {
    return This->lpVtbl->put_Appearance(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_Scrollbars(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_Scrollbars(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_Scrollbars(IDHTMLSafe* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_Scrollbars(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_ScrollbarAppearance(IDHTMLSafe* This,DHTMLEDITAPPEARANCE *value) {
    return This->lpVtbl->get_ScrollbarAppearance(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_ScrollbarAppearance(IDHTMLSafe* This,DHTMLEDITAPPEARANCE value) {
    return This->lpVtbl->put_ScrollbarAppearance(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_SourceCodePreservation(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_SourceCodePreservation(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_SourceCodePreservation(IDHTMLSafe* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_SourceCodePreservation(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_AbsoluteDropMode(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_AbsoluteDropMode(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_AbsoluteDropMode(IDHTMLSafe* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_AbsoluteDropMode(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_SnapToGridX(IDHTMLSafe* This,LONG *value) {
    return This->lpVtbl->get_SnapToGridX(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_SnapToGridX(IDHTMLSafe* This,LONG value) {
    return This->lpVtbl->put_SnapToGridX(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_SnapToGridY(IDHTMLSafe* This,LONG *value) {
    return This->lpVtbl->get_SnapToGridY(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_SnapToGridY(IDHTMLSafe* This,LONG value) {
    return This->lpVtbl->put_SnapToGridY(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_SnapToGrid(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_SnapToGrid(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_SnapToGrid(IDHTMLSafe* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_SnapToGrid(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_IsDirty(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_IsDirty(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_CurrentDocumentPath(IDHTMLSafe* This,BSTR *value) {
    return This->lpVtbl->get_CurrentDocumentPath(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_BaseURL(IDHTMLSafe* This,BSTR *value) {
    return This->lpVtbl->get_BaseURL(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_BaseURL(IDHTMLSafe* This,BSTR value) {
    return This->lpVtbl->put_BaseURL(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_DocumentTitle(IDHTMLSafe* This,BSTR *value) {
    return This->lpVtbl->get_DocumentTitle(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_UseDivOnCarriageReturn(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_UseDivOnCarriageReturn(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_put_UseDivOnCarriageReturn(IDHTMLSafe* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_UseDivOnCarriageReturn(This,value);
}
static FORCEINLINE HRESULT IDHTMLSafe_get_Busy(IDHTMLSafe* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_Busy(This,value);
}
#endif
#endif

#endif


#endif  /* __IDHTMLSafe_INTERFACE_DEFINED__ */

/*****************************************************************************
 * _DHTMLSafeEvents dispinterface
 */
#ifndef ___DHTMLSafeEvents_DISPINTERFACE_DEFINED__
#define ___DHTMLSafeEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID__DHTMLSafeEvents, 0xd1fc78e8, 0xb380, 0x11d1, 0xad,0xc5, 0x00,0x60,0x08,0xa5,0x84,0x8c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d1fc78e8-b380-11d1-adc5-006008a5848c")
_DHTMLSafeEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(_DHTMLSafeEvents, 0xd1fc78e8, 0xb380, 0x11d1, 0xad,0xc5, 0x00,0x60,0x08,0xa5,0x84,0x8c)
#endif
#else
typedef struct _DHTMLSafeEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        _DHTMLSafeEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        _DHTMLSafeEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        _DHTMLSafeEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        _DHTMLSafeEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} _DHTMLSafeEventsVtbl;

interface _DHTMLSafeEvents {
    CONST_VTBL _DHTMLSafeEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define _DHTMLSafeEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define _DHTMLSafeEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define _DHTMLSafeEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define _DHTMLSafeEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define _DHTMLSafeEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define _DHTMLSafeEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define _DHTMLSafeEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT _DHTMLSafeEvents_QueryInterface(_DHTMLSafeEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG _DHTMLSafeEvents_AddRef(_DHTMLSafeEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG _DHTMLSafeEvents_Release(_DHTMLSafeEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT _DHTMLSafeEvents_GetTypeInfoCount(_DHTMLSafeEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT _DHTMLSafeEvents_GetTypeInfo(_DHTMLSafeEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT _DHTMLSafeEvents_GetIDsOfNames(_DHTMLSafeEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT _DHTMLSafeEvents_Invoke(_DHTMLSafeEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* ___DHTMLSafeEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DHTMLSafe coclass
 */

DEFINE_GUID(CLSID_DHTMLSafe, 0x2d360201, 0xfff5, 0x11d1, 0x8d,0x03, 0x00,0xa0,0xc9,0x59,0xbc,0x0a);

#ifdef __cplusplus
class DECLSPEC_UUID("2d360201-fff5-11d1-8d03-00a0c959bc0a") DHTMLSafe;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DHTMLSafe, 0x2d360201, 0xfff5, 0x11d1, 0x8d,0x03, 0x00,0xa0,0xc9,0x59,0xbc,0x0a)
#endif
#endif

/*****************************************************************************
 * IDHTMLEdit interface
 */
#ifndef __IDHTMLEdit_INTERFACE_DEFINED__
#define __IDHTMLEdit_INTERFACE_DEFINED__

DEFINE_GUID(IID_IDHTMLEdit, 0xce04b591, 0x2b1f, 0x11d2, 0x8d,0x1e, 0x00,0xa0,0xc9,0x59,0xbc,0x0a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ce04b591-2b1f-11d2-8d1e-00a0c959bc0a")
IDHTMLEdit : public IDHTMLSafe
{
    virtual HRESULT STDMETHODCALLTYPE LoadDocument(
        VARIANT *path,
        VARIANT *prompt) = 0;

    virtual HRESULT STDMETHODCALLTYPE SaveDocument(
        VARIANT *path,
        VARIANT *prompt) = 0;

    virtual HRESULT STDMETHODCALLTYPE PrintDocument(
        VARIANT *prompt) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_BrowseMode(
        VARIANT_BOOL *value) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_BrowseMode(
        VARIANT_BOOL value) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDHTMLEdit, 0xce04b591, 0x2b1f, 0x11d2, 0x8d,0x1e, 0x00,0xa0,0xc9,0x59,0xbc,0x0a)
#endif
#else
typedef struct IDHTMLEditVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        IDHTMLEdit *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        IDHTMLEdit *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        IDHTMLEdit *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        IDHTMLEdit *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    /*** IDHTMLSafe methods ***/
    HRESULT (STDMETHODCALLTYPE *ExecCommand)(
        IDHTMLEdit *This,
        DHTMLEDITCMDID cmd_id,
        OLECMDEXECOPT options,
        VARIANT *code_in,
        VARIANT *code_out);

    HRESULT (STDMETHODCALLTYPE *QueryStatus)(
        IDHTMLEdit *This,
        DHTMLEDITCMDID cmd_id,
        DHTMLEDITCMDF *status);

    HRESULT (STDMETHODCALLTYPE *SetContextMenu)(
        IDHTMLEdit *This,
        VARIANT *strings,
        VARIANT *states);

    HRESULT (STDMETHODCALLTYPE *NewDocument)(
        IDHTMLEdit *This);

    HRESULT (STDMETHODCALLTYPE *LoadURL)(
        IDHTMLEdit *This,
        BSTR url);

    HRESULT (STDMETHODCALLTYPE *FilterSourceCode)(
        IDHTMLEdit *This,
        BSTR in,
        BSTR *out);

    HRESULT (STDMETHODCALLTYPE *Refresh)(
        IDHTMLEdit *This);

    HRESULT (STDMETHODCALLTYPE *get_DOM)(
        IDHTMLEdit *This,
        IHTMLDocument2 **value);

    HRESULT (STDMETHODCALLTYPE *get_DocumentHTML)(
        IDHTMLEdit *This,
        BSTR *value);

    HRESULT (STDMETHODCALLTYPE *put_DocumentHTML)(
        IDHTMLEdit *This,
        BSTR html);

    HRESULT (STDMETHODCALLTYPE *get_ActivateApplets)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_ActivateApplets)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_ActivateActiveXControls)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_ActivateActiveXControls)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_ActivateDTCs)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_ActivateDTCs)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_ShowDetails)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_ShowDetails)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_ShowBorders)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_ShowBorders)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_Appearance)(
        IDHTMLEdit *This,
        DHTMLEDITAPPEARANCE *value);

    HRESULT (STDMETHODCALLTYPE *put_Appearance)(
        IDHTMLEdit *This,
        DHTMLEDITAPPEARANCE value);

    HRESULT (STDMETHODCALLTYPE *get_Scrollbars)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_Scrollbars)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_ScrollbarAppearance)(
        IDHTMLEdit *This,
        DHTMLEDITAPPEARANCE *value);

    HRESULT (STDMETHODCALLTYPE *put_ScrollbarAppearance)(
        IDHTMLEdit *This,
        DHTMLEDITAPPEARANCE value);

    HRESULT (STDMETHODCALLTYPE *get_SourceCodePreservation)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_SourceCodePreservation)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_AbsoluteDropMode)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_AbsoluteDropMode)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_SnapToGridX)(
        IDHTMLEdit *This,
        LONG *value);

    HRESULT (STDMETHODCALLTYPE *put_SnapToGridX)(
        IDHTMLEdit *This,
        LONG value);

    HRESULT (STDMETHODCALLTYPE *get_SnapToGridY)(
        IDHTMLEdit *This,
        LONG *value);

    HRESULT (STDMETHODCALLTYPE *put_SnapToGridY)(
        IDHTMLEdit *This,
        LONG value);

    HRESULT (STDMETHODCALLTYPE *get_SnapToGrid)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_SnapToGrid)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_IsDirty)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *get_CurrentDocumentPath)(
        IDHTMLEdit *This,
        BSTR *value);

    HRESULT (STDMETHODCALLTYPE *get_BaseURL)(
        IDHTMLEdit *This,
        BSTR *value);

    HRESULT (STDMETHODCALLTYPE *put_BaseURL)(
        IDHTMLEdit *This,
        BSTR value);

    HRESULT (STDMETHODCALLTYPE *get_DocumentTitle)(
        IDHTMLEdit *This,
        BSTR *value);

    HRESULT (STDMETHODCALLTYPE *get_UseDivOnCarriageReturn)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_UseDivOnCarriageReturn)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    HRESULT (STDMETHODCALLTYPE *get_Busy)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    /*** IDHTMLEdit methods ***/
    HRESULT (STDMETHODCALLTYPE *LoadDocument)(
        IDHTMLEdit *This,
        VARIANT *path,
        VARIANT *prompt);

    HRESULT (STDMETHODCALLTYPE *SaveDocument)(
        IDHTMLEdit *This,
        VARIANT *path,
        VARIANT *prompt);

    HRESULT (STDMETHODCALLTYPE *PrintDocument)(
        IDHTMLEdit *This,
        VARIANT *prompt);

    HRESULT (STDMETHODCALLTYPE *get_BrowseMode)(
        IDHTMLEdit *This,
        VARIANT_BOOL *value);

    HRESULT (STDMETHODCALLTYPE *put_BrowseMode)(
        IDHTMLEdit *This,
        VARIANT_BOOL value);

    END_INTERFACE
} IDHTMLEditVtbl;

interface IDHTMLEdit {
    CONST_VTBL IDHTMLEditVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDHTMLEdit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDHTMLEdit_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDHTMLEdit_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDHTMLEdit_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDHTMLEdit_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDHTMLEdit_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDHTMLEdit_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDHTMLSafe methods ***/
#define IDHTMLEdit_ExecCommand(This,cmd_id,options,code_in,code_out) (This)->lpVtbl->ExecCommand(This,cmd_id,options,code_in,code_out)
#define IDHTMLEdit_QueryStatus(This,cmd_id,status) (This)->lpVtbl->QueryStatus(This,cmd_id,status)
#define IDHTMLEdit_SetContextMenu(This,strings,states) (This)->lpVtbl->SetContextMenu(This,strings,states)
#define IDHTMLEdit_NewDocument(This) (This)->lpVtbl->NewDocument(This)
#define IDHTMLEdit_LoadURL(This,url) (This)->lpVtbl->LoadURL(This,url)
#define IDHTMLEdit_FilterSourceCode(This,in,out) (This)->lpVtbl->FilterSourceCode(This,in,out)
#define IDHTMLEdit_Refresh(This) (This)->lpVtbl->Refresh(This)
#define IDHTMLEdit_get_DOM(This,value) (This)->lpVtbl->get_DOM(This,value)
#define IDHTMLEdit_get_DocumentHTML(This,value) (This)->lpVtbl->get_DocumentHTML(This,value)
#define IDHTMLEdit_put_DocumentHTML(This,html) (This)->lpVtbl->put_DocumentHTML(This,html)
#define IDHTMLEdit_get_ActivateApplets(This,value) (This)->lpVtbl->get_ActivateApplets(This,value)
#define IDHTMLEdit_put_ActivateApplets(This,value) (This)->lpVtbl->put_ActivateApplets(This,value)
#define IDHTMLEdit_get_ActivateActiveXControls(This,value) (This)->lpVtbl->get_ActivateActiveXControls(This,value)
#define IDHTMLEdit_put_ActivateActiveXControls(This,value) (This)->lpVtbl->put_ActivateActiveXControls(This,value)
#define IDHTMLEdit_get_ActivateDTCs(This,value) (This)->lpVtbl->get_ActivateDTCs(This,value)
#define IDHTMLEdit_put_ActivateDTCs(This,value) (This)->lpVtbl->put_ActivateDTCs(This,value)
#define IDHTMLEdit_get_ShowDetails(This,value) (This)->lpVtbl->get_ShowDetails(This,value)
#define IDHTMLEdit_put_ShowDetails(This,value) (This)->lpVtbl->put_ShowDetails(This,value)
#define IDHTMLEdit_get_ShowBorders(This,value) (This)->lpVtbl->get_ShowBorders(This,value)
#define IDHTMLEdit_put_ShowBorders(This,value) (This)->lpVtbl->put_ShowBorders(This,value)
#define IDHTMLEdit_get_Appearance(This,value) (This)->lpVtbl->get_Appearance(This,value)
#define IDHTMLEdit_put_Appearance(This,value) (This)->lpVtbl->put_Appearance(This,value)
#define IDHTMLEdit_get_Scrollbars(This,value) (This)->lpVtbl->get_Scrollbars(This,value)
#define IDHTMLEdit_put_Scrollbars(This,value) (This)->lpVtbl->put_Scrollbars(This,value)
#define IDHTMLEdit_get_ScrollbarAppearance(This,value) (This)->lpVtbl->get_ScrollbarAppearance(This,value)
#define IDHTMLEdit_put_ScrollbarAppearance(This,value) (This)->lpVtbl->put_ScrollbarAppearance(This,value)
#define IDHTMLEdit_get_SourceCodePreservation(This,value) (This)->lpVtbl->get_SourceCodePreservation(This,value)
#define IDHTMLEdit_put_SourceCodePreservation(This,value) (This)->lpVtbl->put_SourceCodePreservation(This,value)
#define IDHTMLEdit_get_AbsoluteDropMode(This,value) (This)->lpVtbl->get_AbsoluteDropMode(This,value)
#define IDHTMLEdit_put_AbsoluteDropMode(This,value) (This)->lpVtbl->put_AbsoluteDropMode(This,value)
#define IDHTMLEdit_get_SnapToGridX(This,value) (This)->lpVtbl->get_SnapToGridX(This,value)
#define IDHTMLEdit_put_SnapToGridX(This,value) (This)->lpVtbl->put_SnapToGridX(This,value)
#define IDHTMLEdit_get_SnapToGridY(This,value) (This)->lpVtbl->get_SnapToGridY(This,value)
#define IDHTMLEdit_put_SnapToGridY(This,value) (This)->lpVtbl->put_SnapToGridY(This,value)
#define IDHTMLEdit_get_SnapToGrid(This,value) (This)->lpVtbl->get_SnapToGrid(This,value)
#define IDHTMLEdit_put_SnapToGrid(This,value) (This)->lpVtbl->put_SnapToGrid(This,value)
#define IDHTMLEdit_get_IsDirty(This,value) (This)->lpVtbl->get_IsDirty(This,value)
#define IDHTMLEdit_get_CurrentDocumentPath(This,value) (This)->lpVtbl->get_CurrentDocumentPath(This,value)
#define IDHTMLEdit_get_BaseURL(This,value) (This)->lpVtbl->get_BaseURL(This,value)
#define IDHTMLEdit_put_BaseURL(This,value) (This)->lpVtbl->put_BaseURL(This,value)
#define IDHTMLEdit_get_DocumentTitle(This,value) (This)->lpVtbl->get_DocumentTitle(This,value)
#define IDHTMLEdit_get_UseDivOnCarriageReturn(This,value) (This)->lpVtbl->get_UseDivOnCarriageReturn(This,value)
#define IDHTMLEdit_put_UseDivOnCarriageReturn(This,value) (This)->lpVtbl->put_UseDivOnCarriageReturn(This,value)
#define IDHTMLEdit_get_Busy(This,value) (This)->lpVtbl->get_Busy(This,value)
/*** IDHTMLEdit methods ***/
#define IDHTMLEdit_LoadDocument(This,path,prompt) (This)->lpVtbl->LoadDocument(This,path,prompt)
#define IDHTMLEdit_SaveDocument(This,path,prompt) (This)->lpVtbl->SaveDocument(This,path,prompt)
#define IDHTMLEdit_PrintDocument(This,prompt) (This)->lpVtbl->PrintDocument(This,prompt)
#define IDHTMLEdit_get_BrowseMode(This,value) (This)->lpVtbl->get_BrowseMode(This,value)
#define IDHTMLEdit_put_BrowseMode(This,value) (This)->lpVtbl->put_BrowseMode(This,value)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDHTMLEdit_QueryInterface(IDHTMLEdit* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDHTMLEdit_AddRef(IDHTMLEdit* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDHTMLEdit_Release(IDHTMLEdit* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IDHTMLEdit_GetTypeInfoCount(IDHTMLEdit* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IDHTMLEdit_GetTypeInfo(IDHTMLEdit* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IDHTMLEdit_GetIDsOfNames(IDHTMLEdit* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IDHTMLEdit_Invoke(IDHTMLEdit* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDHTMLSafe methods ***/
static FORCEINLINE HRESULT IDHTMLEdit_ExecCommand(IDHTMLEdit* This,DHTMLEDITCMDID cmd_id,OLECMDEXECOPT options,VARIANT *code_in,VARIANT *code_out) {
    return This->lpVtbl->ExecCommand(This,cmd_id,options,code_in,code_out);
}
static FORCEINLINE HRESULT IDHTMLEdit_QueryStatus(IDHTMLEdit* This,DHTMLEDITCMDID cmd_id,DHTMLEDITCMDF *status) {
    return This->lpVtbl->QueryStatus(This,cmd_id,status);
}
static FORCEINLINE HRESULT IDHTMLEdit_SetContextMenu(IDHTMLEdit* This,VARIANT *strings,VARIANT *states) {
    return This->lpVtbl->SetContextMenu(This,strings,states);
}
static FORCEINLINE HRESULT IDHTMLEdit_NewDocument(IDHTMLEdit* This) {
    return This->lpVtbl->NewDocument(This);
}
static FORCEINLINE HRESULT IDHTMLEdit_LoadURL(IDHTMLEdit* This,BSTR url) {
    return This->lpVtbl->LoadURL(This,url);
}
static FORCEINLINE HRESULT IDHTMLEdit_FilterSourceCode(IDHTMLEdit* This,BSTR in,BSTR *out) {
    return This->lpVtbl->FilterSourceCode(This,in,out);
}
static FORCEINLINE HRESULT IDHTMLEdit_Refresh(IDHTMLEdit* This) {
    return This->lpVtbl->Refresh(This);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_DOM(IDHTMLEdit* This,IHTMLDocument2 **value) {
    return This->lpVtbl->get_DOM(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_DocumentHTML(IDHTMLEdit* This,BSTR *value) {
    return This->lpVtbl->get_DocumentHTML(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_DocumentHTML(IDHTMLEdit* This,BSTR html) {
    return This->lpVtbl->put_DocumentHTML(This,html);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_ActivateApplets(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_ActivateApplets(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_ActivateApplets(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_ActivateApplets(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_ActivateActiveXControls(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_ActivateActiveXControls(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_ActivateActiveXControls(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_ActivateActiveXControls(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_ActivateDTCs(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_ActivateDTCs(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_ActivateDTCs(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_ActivateDTCs(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_ShowDetails(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_ShowDetails(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_ShowDetails(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_ShowDetails(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_ShowBorders(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_ShowBorders(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_ShowBorders(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_ShowBorders(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_Appearance(IDHTMLEdit* This,DHTMLEDITAPPEARANCE *value) {
    return This->lpVtbl->get_Appearance(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_Appearance(IDHTMLEdit* This,DHTMLEDITAPPEARANCE value) {
    return This->lpVtbl->put_Appearance(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_Scrollbars(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_Scrollbars(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_Scrollbars(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_Scrollbars(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_ScrollbarAppearance(IDHTMLEdit* This,DHTMLEDITAPPEARANCE *value) {
    return This->lpVtbl->get_ScrollbarAppearance(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_ScrollbarAppearance(IDHTMLEdit* This,DHTMLEDITAPPEARANCE value) {
    return This->lpVtbl->put_ScrollbarAppearance(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_SourceCodePreservation(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_SourceCodePreservation(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_SourceCodePreservation(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_SourceCodePreservation(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_AbsoluteDropMode(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_AbsoluteDropMode(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_AbsoluteDropMode(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_AbsoluteDropMode(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_SnapToGridX(IDHTMLEdit* This,LONG *value) {
    return This->lpVtbl->get_SnapToGridX(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_SnapToGridX(IDHTMLEdit* This,LONG value) {
    return This->lpVtbl->put_SnapToGridX(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_SnapToGridY(IDHTMLEdit* This,LONG *value) {
    return This->lpVtbl->get_SnapToGridY(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_SnapToGridY(IDHTMLEdit* This,LONG value) {
    return This->lpVtbl->put_SnapToGridY(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_SnapToGrid(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_SnapToGrid(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_SnapToGrid(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_SnapToGrid(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_IsDirty(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_IsDirty(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_CurrentDocumentPath(IDHTMLEdit* This,BSTR *value) {
    return This->lpVtbl->get_CurrentDocumentPath(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_BaseURL(IDHTMLEdit* This,BSTR *value) {
    return This->lpVtbl->get_BaseURL(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_BaseURL(IDHTMLEdit* This,BSTR value) {
    return This->lpVtbl->put_BaseURL(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_DocumentTitle(IDHTMLEdit* This,BSTR *value) {
    return This->lpVtbl->get_DocumentTitle(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_UseDivOnCarriageReturn(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_UseDivOnCarriageReturn(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_UseDivOnCarriageReturn(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_UseDivOnCarriageReturn(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_Busy(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_Busy(This,value);
}
/*** IDHTMLEdit methods ***/
static FORCEINLINE HRESULT IDHTMLEdit_LoadDocument(IDHTMLEdit* This,VARIANT *path,VARIANT *prompt) {
    return This->lpVtbl->LoadDocument(This,path,prompt);
}
static FORCEINLINE HRESULT IDHTMLEdit_SaveDocument(IDHTMLEdit* This,VARIANT *path,VARIANT *prompt) {
    return This->lpVtbl->SaveDocument(This,path,prompt);
}
static FORCEINLINE HRESULT IDHTMLEdit_PrintDocument(IDHTMLEdit* This,VARIANT *prompt) {
    return This->lpVtbl->PrintDocument(This,prompt);
}
static FORCEINLINE HRESULT IDHTMLEdit_get_BrowseMode(IDHTMLEdit* This,VARIANT_BOOL *value) {
    return This->lpVtbl->get_BrowseMode(This,value);
}
static FORCEINLINE HRESULT IDHTMLEdit_put_BrowseMode(IDHTMLEdit* This,VARIANT_BOOL value) {
    return This->lpVtbl->put_BrowseMode(This,value);
}
#endif
#endif

#endif


#endif  /* __IDHTMLEdit_INTERFACE_DEFINED__ */

/*****************************************************************************
 * _DHTMLEditEvents dispinterface
 */
#ifndef ___DHTMLEditEvents_DISPINTERFACE_DEFINED__
#define ___DHTMLEditEvents_DISPINTERFACE_DEFINED__

DEFINE_GUID(DIID__DHTMLEditEvents, 0x588d5040, 0xcf28, 0x11d1, 0x8c,0xd3, 0x00,0xa0,0xc9,0x59,0xbc,0x0a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("588d5040-cf28-11d1-8cd3-00a0c959bc0a")
_DHTMLEditEvents : public IDispatch
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(_DHTMLEditEvents, 0x588d5040, 0xcf28, 0x11d1, 0x8c,0xd3, 0x00,0xa0,0xc9,0x59,0xbc,0x0a)
#endif
#else
typedef struct _DHTMLEditEventsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        _DHTMLEditEvents *This,
        UINT *pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        _DHTMLEditEvents *This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo **ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        _DHTMLEditEvents *This,
        REFIID riid,
        LPOLESTR *rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID *rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        _DHTMLEditEvents *This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS *pDispParams,
        VARIANT *pVarResult,
        EXCEPINFO *pExcepInfo,
        UINT *puArgErr);

    END_INTERFACE
} _DHTMLEditEventsVtbl;

interface _DHTMLEditEvents {
    CONST_VTBL _DHTMLEditEventsVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define _DHTMLEditEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define _DHTMLEditEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
#define _DHTMLEditEvents_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define _DHTMLEditEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define _DHTMLEditEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define _DHTMLEditEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define _DHTMLEditEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT _DHTMLEditEvents_QueryInterface(_DHTMLEditEvents* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG _DHTMLEditEvents_AddRef(_DHTMLEditEvents* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG _DHTMLEditEvents_Release(_DHTMLEditEvents* This) {
    return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT _DHTMLEditEvents_GetTypeInfoCount(_DHTMLEditEvents* This,UINT *pctinfo) {
    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT _DHTMLEditEvents_GetTypeInfo(_DHTMLEditEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT _DHTMLEditEvents_GetIDsOfNames(_DHTMLEditEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT _DHTMLEditEvents_Invoke(_DHTMLEditEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
#endif
#endif

#endif

#endif  /* ___DHTMLEditEvents_DISPINTERFACE_DEFINED__ */

/*****************************************************************************
 * DHTMLEdit coclass
 */

DEFINE_GUID(CLSID_DHTMLEdit, 0x2d360200, 0xfff5, 0x11d1, 0x8d,0x03, 0x00,0xa0,0xc9,0x59,0xbc,0x0a);

#ifdef __cplusplus
class DECLSPEC_UUID("2d360200-fff5-11d1-8d03-00a0c959bc0a") DHTMLEdit;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DHTMLEdit, 0x2d360200, 0xfff5, 0x11d1, 0x8d,0x03, 0x00,0xa0,0xc9,0x59,0xbc,0x0a)
#endif
#endif

/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __dhtmled_h__ */
