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

#ifndef __WIDL_ACTIVSCP_H
#define __WIDL_ACTIVSCP_H
#ifdef __cplusplus
extern "C" {
#endif

#include <ocidl.h>
#include <oleidl.h>
#include <oaidl.h>
#ifndef _NO_SCRIPT_GUIDS
DEFINE_GUID(CATID_ActiveScript,       0xf0b7a1a1,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);
DEFINE_GUID(CATID_ActiveScriptParse,  0xf0b7a1a2,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);
DEFINE_GUID(CATID_ActiveScriptEncode, 0xf0b7a1a3,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);
#endif
#define SCRIPTPROP_NAME                   0x00000000
#define SCRIPTPROP_MAJORVERSION           0x00000001
#define SCRIPTPROP_MINORVERSION           0x00000002
#define SCRIPTPROP_BUILDNUMBER            0x00000003
#define SCRIPTPROP_DELAYEDEVENTSINKING    0x00001000
#define SCRIPTPROP_CATCHEXCEPTION         0x00001001
#define SCRIPTPROP_CONVERSIONLCID         0x00001002
#define SCRIPTPROP_HOSTSTACKREQUIRED      0x00001003
#define SCRIPTPROP_DEBUGGER               0x00001100
#define SCRIPTPROP_JITDEBUG               0x00001101
#define SCRIPTPROP_HACK_FIBERSUPPORT      0x70000000
#define SCRIPTPROP_HACK_TRIDENTEVENTSINK  0x70000001
typedef enum tagSCRIPTSTATE {
    SCRIPTSTATE_UNINITIALIZED = 0,
    SCRIPTSTATE_STARTED = 1,
    SCRIPTSTATE_CONNECTED = 2,
    SCRIPTSTATE_DISCONNECTED = 3,
    SCRIPTSTATE_CLOSED = 4,
    SCRIPTSTATE_INITIALIZED = 5
} SCRIPTSTATE;
typedef enum tagSCRIPTTHREADSTATE {
    SCRIPTTHREADSTATE_NOTINSCRIPT = 0,
    SCRIPTTHREADSTATE_RUNNING = 1
} SCRIPTTHREADSTATE;
typedef DWORD SCRIPTTHREADID;
#define SCRIPTTHREADID_CURRENT ((SCRIPTTHREADID)-1)
#define SCRIPTTHREADID_BASE ((SCRIPTTHREADID)-2)
#define SCRIPTTHREADID_ALL ((SCRIPTTHREADID)-3)
#define SCRIPTITEM_ISVISIBLE           0x00000002
#define SCRIPTITEM_ISSOURCE            0x00000004
#define SCRIPTITEM_GLOBALMEMBERS       0x00000008
#define SCRIPTITEM_ISPERSISTENT        0x00000040
#define SCRIPTITEM_CODEONLY            0x00000200
#define SCRIPTITEM_NOCODE              0x00000400
#define SCRIPTITEM_ALL_FLAGS           (SCRIPTITEM_ISSOURCE | \
                                        SCRIPTITEM_ISVISIBLE | \
                                        SCRIPTITEM_ISPERSISTENT | \
                                        SCRIPTITEM_GLOBALMEMBERS | \
                                        SCRIPTITEM_NOCODE | \
                                        SCRIPTITEM_CODEONLY)
#define SCRIPTTYPELIB_ISCONTROL        0x00000010
#define SCRIPTTYPELIB_ISPERSISTENT     0x00000040
#define SCRIPTTYPELIB_ALL_FLAGS        (SCRIPTTEXT_ISCONTROL | SCRIPTTYPELIB_ISPERSISTENT)
#define SCRIPTTEXT_DELAYEXECUTION      0x00000001
#define SCRIPTTEXT_ISVISIBLE           0x00000002
#define SCRIPTTEXT_ISEXPRESSION        0x00000020
#define SCRIPTTEXT_ISPERSISTENT        0x00000040
#define SCRIPTTEXT_HOSTMANAGESSOURCE   0x00000080
#define SCRIPTTEXT_ALL_FLAGS           (SCRIPTTEXT_DELAYEXECUTION | \
                                        SCRIPTTEXT_ISVISIBLE | \
                                        SCRIPTTEXT_ISEXPRESSION | \
                                        SCRIPTTEXT_ISPERSISTENT | \
                                        SCRIPTTEXT_HOSTMANAGESSOURCE)
#define SCRIPTPROC_HOSTMANAGESSOURCE   0x00000080
#define SCRIPTPROC_IMPLICIT_THIS       0x00000100
#define SCRIPTPROC_IMPLICIT_PARENTS    0x00000200
#define SCRIPTPROC_ALL_FLAGS           (SCRIPTPROC_HOSTMANAGESSOURCE | \
                                        SCRIPTPROC_IMPLICIT_THIS | \
                                        SCRIPTPROC_IMPLICIT_PARENTS)
#define SCRIPTINFO_IUNKNOWN            0x00000001
#define SCRIPTINFO_ITYPEINFO           0x00000002
#define SCRIPTINFO_ALL_FLAGS           (SCRIPTINFO_IUNKNOWN | SCRIPTINFO_ITYPEINFO)
#define SCRIPTINTERRUPT_DEBUG          0x00000001
#define SCRIPTINTERRUPT_RAISEEXCEPTION 0x00000002
#define SCRIPTINTERRUPT_ALL_FLAGS      (SCRIPTINTERRUPT_DEBUG | SCRIPTINTERRUPT_RAISEEXCEPTION)
#define SCRIPTSTAT_STATEMENT_COUNT      1
#define SCRIPTSTAT_INSTRUCTION_COUNT    2
#define SCRIPTSTAT_INTSTRUCTION_TIME    3
#define SCRIPTSTAT_TOTAL_TIME           4
#ifndef __IActiveScriptError_FWD_DEFINED__
#define __IActiveScriptError_FWD_DEFINED__
typedef interface IActiveScriptError IActiveScriptError;
#endif

/*****************************************************************************
 * IActiveScriptError interface
 */
#ifndef __IActiveScriptError_INTERFACE_DEFINED__
#define __IActiveScriptError_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptError, 0xeae1ba61, 0xa4ed, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScriptError : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetExceptionInfo(
        EXCEPINFO *pexcepinfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSourcePosition(
        DWORD *pdwSourceContext,
        ULONG *pulLineNumber,
        LONG *plCharacterPosition) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetSourceLineText(
        BSTR *pbstrSourceLine) = 0;

};
#else
typedef struct IActiveScriptErrorVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptError methods ***/
    HRESULT (STDMETHODCALLTYPE *GetExceptionInfo)(
        IActiveScriptError* This,
        EXCEPINFO *pexcepinfo);

    HRESULT (STDMETHODCALLTYPE *GetSourcePosition)(
        IActiveScriptError* This,
        DWORD *pdwSourceContext,
        ULONG *pulLineNumber,
        LONG *plCharacterPosition);

    HRESULT (STDMETHODCALLTYPE *GetSourceLineText)(
        IActiveScriptError* This,
        BSTR *pbstrSourceLine);

    END_INTERFACE
} IActiveScriptErrorVtbl;
interface IActiveScriptError {
    CONST_VTBL IActiveScriptErrorVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptError_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptError_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptError methods ***/
#define IActiveScriptError_GetExceptionInfo(This,pexcepinfo) (This)->lpVtbl->GetExceptionInfo(This,pexcepinfo)
#define IActiveScriptError_GetSourcePosition(This,pdwSourceContext,pulLineNumber,plCharacterPosition) (This)->lpVtbl->GetSourcePosition(This,pdwSourceContext,pulLineNumber,plCharacterPosition)
#define IActiveScriptError_GetSourceLineText(This,pbstrSourceLine) (This)->lpVtbl->GetSourceLineText(This,pbstrSourceLine)
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptError_GetExceptionInfo_Proxy(
    IActiveScriptError* This,
    EXCEPINFO *pexcepinfo);
void __RPC_STUB IActiveScriptError_GetExceptionInfo_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptError_GetSourcePosition_Proxy(
    IActiveScriptError* This,
    DWORD *pdwSourceContext,
    ULONG *pulLineNumber,
    LONG *plCharacterPosition);
void __RPC_STUB IActiveScriptError_GetSourcePosition_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptError_GetSourceLineText_Proxy(
    IActiveScriptError* This,
    BSTR *pbstrSourceLine);
void __RPC_STUB IActiveScriptError_GetSourceLineText_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptError_INTERFACE_DEFINED__ */

#ifndef __IActiveScriptSite_FWD_DEFINED__
#define __IActiveScriptSite_FWD_DEFINED__
typedef interface IActiveScriptSite IActiveScriptSite;
#endif

/*****************************************************************************
 * IActiveScriptSite interface
 */
#ifndef __IActiveScriptSite_INTERFACE_DEFINED__
#define __IActiveScriptSite_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptSite, 0xdb01a1e3, 0xa42b, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScriptSite : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetLCID(
        LCID *plcid) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetItemInfo(
        LPCOLESTR pstrName,
        DWORD dwReturnMask,
        IUnknown **ppiunkItem,
        ITypeInfo **ppti) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetDocVersionString(
        BSTR *pbstrVersion) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnScriptTerminate(
        const VARIANT *pvarResult,
        const EXCEPINFO *pexcepinfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnStateChange(
        SCRIPTSTATE ssScriptState) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnScriptError(
        IActiveScriptError *pscripterror) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnEnterScript(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE OnLeaveScript(
        ) = 0;

};
#else
typedef struct IActiveScriptSiteVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptSite methods ***/
    HRESULT (STDMETHODCALLTYPE *GetLCID)(
        IActiveScriptSite* This,
        LCID *plcid);

    HRESULT (STDMETHODCALLTYPE *GetItemInfo)(
        IActiveScriptSite* This,
        LPCOLESTR pstrName,
        DWORD dwReturnMask,
        IUnknown **ppiunkItem,
        ITypeInfo **ppti);

    HRESULT (STDMETHODCALLTYPE *GetDocVersionString)(
        IActiveScriptSite* This,
        BSTR *pbstrVersion);

    HRESULT (STDMETHODCALLTYPE *OnScriptTerminate)(
        IActiveScriptSite* This,
        const VARIANT *pvarResult,
        const EXCEPINFO *pexcepinfo);

    HRESULT (STDMETHODCALLTYPE *OnStateChange)(
        IActiveScriptSite* This,
        SCRIPTSTATE ssScriptState);

    HRESULT (STDMETHODCALLTYPE *OnScriptError)(
        IActiveScriptSite* This,
        IActiveScriptError *pscripterror);

    HRESULT (STDMETHODCALLTYPE *OnEnterScript)(
        IActiveScriptSite* This);

    HRESULT (STDMETHODCALLTYPE *OnLeaveScript)(
        IActiveScriptSite* This);

    END_INTERFACE
} IActiveScriptSiteVtbl;
interface IActiveScriptSite {
    CONST_VTBL IActiveScriptSiteVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptSite_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptSite methods ***/
#define IActiveScriptSite_GetLCID(This,plcid) (This)->lpVtbl->GetLCID(This,plcid)
#define IActiveScriptSite_GetItemInfo(This,pstrName,dwReturnMask,ppiunkItem,ppti) (This)->lpVtbl->GetItemInfo(This,pstrName,dwReturnMask,ppiunkItem,ppti)
#define IActiveScriptSite_GetDocVersionString(This,pbstrVersion) (This)->lpVtbl->GetDocVersionString(This,pbstrVersion)
#define IActiveScriptSite_OnScriptTerminate(This,pvarResult,pexcepinfo) (This)->lpVtbl->OnScriptTerminate(This,pvarResult,pexcepinfo)
#define IActiveScriptSite_OnStateChange(This,ssScriptState) (This)->lpVtbl->OnStateChange(This,ssScriptState)
#define IActiveScriptSite_OnScriptError(This,pscripterror) (This)->lpVtbl->OnScriptError(This,pscripterror)
#define IActiveScriptSite_OnEnterScript(This) (This)->lpVtbl->OnEnterScript(This)
#define IActiveScriptSite_OnLeaveScript(This) (This)->lpVtbl->OnLeaveScript(This)
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptSite_GetLCID_Proxy(
    IActiveScriptSite* This,
    LCID *plcid);
void __RPC_STUB IActiveScriptSite_GetLCID_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptSite_GetItemInfo_Proxy(
    IActiveScriptSite* This,
    LPCOLESTR pstrName,
    DWORD dwReturnMask,
    IUnknown **ppiunkItem,
    ITypeInfo **ppti);
void __RPC_STUB IActiveScriptSite_GetItemInfo_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptSite_GetDocVersionString_Proxy(
    IActiveScriptSite* This,
    BSTR *pbstrVersion);
void __RPC_STUB IActiveScriptSite_GetDocVersionString_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptSite_OnScriptTerminate_Proxy(
    IActiveScriptSite* This,
    const VARIANT *pvarResult,
    const EXCEPINFO *pexcepinfo);
void __RPC_STUB IActiveScriptSite_OnScriptTerminate_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptSite_OnStateChange_Proxy(
    IActiveScriptSite* This,
    SCRIPTSTATE ssScriptState);
void __RPC_STUB IActiveScriptSite_OnStateChange_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptSite_OnScriptError_Proxy(
    IActiveScriptSite* This,
    IActiveScriptError *pscripterror);
void __RPC_STUB IActiveScriptSite_OnScriptError_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptSite_OnEnterScript_Proxy(
    IActiveScriptSite* This);
void __RPC_STUB IActiveScriptSite_OnEnterScript_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptSite_OnLeaveScript_Proxy(
    IActiveScriptSite* This);
void __RPC_STUB IActiveScriptSite_OnLeaveScript_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptSite_INTERFACE_DEFINED__ */

typedef IActiveScriptSite *PIActiveScriptSite;
#ifndef __IActiveScriptSiteWindow_FWD_DEFINED__
#define __IActiveScriptSiteWindow_FWD_DEFINED__
typedef interface IActiveScriptSiteWindow IActiveScriptSiteWindow;
#endif

/*****************************************************************************
 * IActiveScriptSiteWindow interface
 */
#ifndef __IActiveScriptSiteWindow_INTERFACE_DEFINED__
#define __IActiveScriptSiteWindow_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptSiteWindow, 0xd10f6761, 0x83e9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScriptSiteWindow : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetWindow(
        HWND *phwnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnableModeless(
        BOOL fEnable) = 0;

};
#else
typedef struct IActiveScriptSiteWindowVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptSiteWindow methods ***/
    HRESULT (STDMETHODCALLTYPE *GetWindow)(
        IActiveScriptSiteWindow* This,
        HWND *phwnd);

    HRESULT (STDMETHODCALLTYPE *EnableModeless)(
        IActiveScriptSiteWindow* This,
        BOOL fEnable);

    END_INTERFACE
} IActiveScriptSiteWindowVtbl;
interface IActiveScriptSiteWindow {
    CONST_VTBL IActiveScriptSiteWindowVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptSiteWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptSiteWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptSiteWindow_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptSiteWindow methods ***/
#define IActiveScriptSiteWindow_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IActiveScriptSiteWindow_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptSiteWindow_GetWindow_Proxy(
    IActiveScriptSiteWindow* This,
    HWND *phwnd);
void __RPC_STUB IActiveScriptSiteWindow_GetWindow_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptSiteWindow_EnableModeless_Proxy(
    IActiveScriptSiteWindow* This,
    BOOL fEnable);
void __RPC_STUB IActiveScriptSiteWindow_EnableModeless_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptSiteWindow_INTERFACE_DEFINED__ */

#ifndef __IActiveScriptSiteInterruptPoll_FWD_DEFINED__
#define __IActiveScriptSiteInterruptPoll_FWD_DEFINED__
typedef interface IActiveScriptSiteInterruptPoll IActiveScriptSiteInterruptPoll;
#endif

/*****************************************************************************
 * IActiveScriptSiteInterruptPoll interface
 */
#ifndef __IActiveScriptSiteInterruptPoll_INTERFACE_DEFINED__
#define __IActiveScriptSiteInterruptPoll_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptSiteInterruptPoll, 0x539698a0, 0xcdca, 0x11cf, 0xa5,0xeb, 0x00,0xaa,0x00,0x47,0xa0,0x63);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScriptSiteInterruptPoll : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE QueryContinue(
        ) = 0;

};
#else
typedef struct IActiveScriptSiteInterruptPollVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptSiteInterruptPoll methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryContinue)(
        IActiveScriptSiteInterruptPoll* This);

    END_INTERFACE
} IActiveScriptSiteInterruptPollVtbl;
interface IActiveScriptSiteInterruptPoll {
    CONST_VTBL IActiveScriptSiteInterruptPollVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptSiteInterruptPoll_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptSiteInterruptPoll_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptSiteInterruptPoll_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptSiteInterruptPoll methods ***/
#define IActiveScriptSiteInterruptPoll_QueryContinue(This) (This)->lpVtbl->QueryContinue(This)
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptSiteInterruptPoll_QueryContinue_Proxy(
    IActiveScriptSiteInterruptPoll* This);
void __RPC_STUB IActiveScriptSiteInterruptPoll_QueryContinue_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptSiteInterruptPoll_INTERFACE_DEFINED__ */

#ifndef __IActiveScript_FWD_DEFINED__
#define __IActiveScript_FWD_DEFINED__
typedef interface IActiveScript IActiveScript;
#endif

/*****************************************************************************
 * IActiveScript interface
 */
#ifndef __IActiveScript_INTERFACE_DEFINED__
#define __IActiveScript_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScript, 0xbb1a2ae1, 0xa4f9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScript : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE SetScriptSite(
        IActiveScriptSite *pass) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetScriptSite(
        REFIID riid,
        void **ppvObject) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetScriptState(
        SCRIPTSTATE ss) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetScriptState(
        SCRIPTSTATE *pssState) = 0;

    virtual HRESULT STDMETHODCALLTYPE Close(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE AddNamedItem(
        LPCOLESTR pstrName,
        DWORD dwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE AddTypeLib(
        REFGUID rguidTypeLib,
        DWORD dwMajor,
        DWORD dwMinor,
        DWORD dwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetScriptDispatch(
        LPCOLESTR pstrItemName,
        IDispatch **ppdisp) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetCurrentScriptThreadID(
        SCRIPTTHREADID *pstidThread) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetScriptThreadID(
        DWORD dwWin32ThreadId,
        SCRIPTTHREADID *pstidThread) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetScriptThreadState(
        SCRIPTTHREADID stidThread,
        SCRIPTTHREADSTATE *pstsState) = 0;

    virtual HRESULT STDMETHODCALLTYPE InterruptScriptThread(
        SCRIPTTHREADID stidThread,
        const EXCEPINFO *pexcepinfo,
        DWORD dwFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE Clone(
        IActiveScript **ppscript) = 0;

};
#else
typedef struct IActiveScriptVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScript methods ***/
    HRESULT (STDMETHODCALLTYPE *SetScriptSite)(
        IActiveScript* This,
        IActiveScriptSite *pass);

    HRESULT (STDMETHODCALLTYPE *GetScriptSite)(
        IActiveScript* This,
        REFIID riid,
        void **ppvObject);

    HRESULT (STDMETHODCALLTYPE *SetScriptState)(
        IActiveScript* This,
        SCRIPTSTATE ss);

    HRESULT (STDMETHODCALLTYPE *GetScriptState)(
        IActiveScript* This,
        SCRIPTSTATE *pssState);

    HRESULT (STDMETHODCALLTYPE *Close)(
        IActiveScript* This);

    HRESULT (STDMETHODCALLTYPE *AddNamedItem)(
        IActiveScript* This,
        LPCOLESTR pstrName,
        DWORD dwFlags);

    HRESULT (STDMETHODCALLTYPE *AddTypeLib)(
        IActiveScript* This,
        REFGUID rguidTypeLib,
        DWORD dwMajor,
        DWORD dwMinor,
        DWORD dwFlags);

    HRESULT (STDMETHODCALLTYPE *GetScriptDispatch)(
        IActiveScript* This,
        LPCOLESTR pstrItemName,
        IDispatch **ppdisp);

    HRESULT (STDMETHODCALLTYPE *GetCurrentScriptThreadID)(
        IActiveScript* This,
        SCRIPTTHREADID *pstidThread);

    HRESULT (STDMETHODCALLTYPE *GetScriptThreadID)(
        IActiveScript* This,
        DWORD dwWin32ThreadId,
        SCRIPTTHREADID *pstidThread);

    HRESULT (STDMETHODCALLTYPE *GetScriptThreadState)(
        IActiveScript* This,
        SCRIPTTHREADID stidThread,
        SCRIPTTHREADSTATE *pstsState);

    HRESULT (STDMETHODCALLTYPE *InterruptScriptThread)(
        IActiveScript* This,
        SCRIPTTHREADID stidThread,
        const EXCEPINFO *pexcepinfo,
        DWORD dwFlags);

    HRESULT (STDMETHODCALLTYPE *Clone)(
        IActiveScript* This,
        IActiveScript **ppscript);

    END_INTERFACE
} IActiveScriptVtbl;
interface IActiveScript {
    CONST_VTBL IActiveScriptVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScript_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScript_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScript_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScript methods ***/
#define IActiveScript_SetScriptSite(This,pass) (This)->lpVtbl->SetScriptSite(This,pass)
#define IActiveScript_GetScriptSite(This,riid,ppvObject) (This)->lpVtbl->GetScriptSite(This,riid,ppvObject)
#define IActiveScript_SetScriptState(This,ss) (This)->lpVtbl->SetScriptState(This,ss)
#define IActiveScript_GetScriptState(This,pssState) (This)->lpVtbl->GetScriptState(This,pssState)
#define IActiveScript_Close(This) (This)->lpVtbl->Close(This)
#define IActiveScript_AddNamedItem(This,pstrName,dwFlags) (This)->lpVtbl->AddNamedItem(This,pstrName,dwFlags)
#define IActiveScript_AddTypeLib(This,rguidTypeLib,dwMajor,dwMinor,dwFlags) (This)->lpVtbl->AddTypeLib(This,rguidTypeLib,dwMajor,dwMinor,dwFlags)
#define IActiveScript_GetScriptDispatch(This,pstrItemName,ppdisp) (This)->lpVtbl->GetScriptDispatch(This,pstrItemName,ppdisp)
#define IActiveScript_GetCurrentScriptThreadID(This,pstidThread) (This)->lpVtbl->GetCurrentScriptThreadID(This,pstidThread)
#define IActiveScript_GetScriptThreadID(This,dwWin32ThreadId,pstidThread) (This)->lpVtbl->GetScriptThreadID(This,dwWin32ThreadId,pstidThread)
#define IActiveScript_GetScriptThreadState(This,stidThread,pstsState) (This)->lpVtbl->GetScriptThreadState(This,stidThread,pstsState)
#define IActiveScript_InterruptScriptThread(This,stidThread,pexcepinfo,dwFlags) (This)->lpVtbl->InterruptScriptThread(This,stidThread,pexcepinfo,dwFlags)
#define IActiveScript_Clone(This,ppscript) (This)->lpVtbl->Clone(This,ppscript)
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScript_SetScriptSite_Proxy(
    IActiveScript* This,
    IActiveScriptSite *pass);
void __RPC_STUB IActiveScript_SetScriptSite_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_GetScriptSite_Proxy(
    IActiveScript* This,
    REFIID riid,
    void **ppvObject);
void __RPC_STUB IActiveScript_GetScriptSite_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_SetScriptState_Proxy(
    IActiveScript* This,
    SCRIPTSTATE ss);
void __RPC_STUB IActiveScript_SetScriptState_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_GetScriptState_Proxy(
    IActiveScript* This,
    SCRIPTSTATE *pssState);
void __RPC_STUB IActiveScript_GetScriptState_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_Close_Proxy(
    IActiveScript* This);
void __RPC_STUB IActiveScript_Close_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_AddNamedItem_Proxy(
    IActiveScript* This,
    LPCOLESTR pstrName,
    DWORD dwFlags);
void __RPC_STUB IActiveScript_AddNamedItem_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_AddTypeLib_Proxy(
    IActiveScript* This,
    REFGUID rguidTypeLib,
    DWORD dwMajor,
    DWORD dwMinor,
    DWORD dwFlags);
void __RPC_STUB IActiveScript_AddTypeLib_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_GetScriptDispatch_Proxy(
    IActiveScript* This,
    LPCOLESTR pstrItemName,
    IDispatch **ppdisp);
void __RPC_STUB IActiveScript_GetScriptDispatch_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_GetCurrentScriptThreadID_Proxy(
    IActiveScript* This,
    SCRIPTTHREADID *pstidThread);
void __RPC_STUB IActiveScript_GetCurrentScriptThreadID_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_GetScriptThreadID_Proxy(
    IActiveScript* This,
    DWORD dwWin32ThreadId,
    SCRIPTTHREADID *pstidThread);
void __RPC_STUB IActiveScript_GetScriptThreadID_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_GetScriptThreadState_Proxy(
    IActiveScript* This,
    SCRIPTTHREADID stidThread,
    SCRIPTTHREADSTATE *pstsState);
void __RPC_STUB IActiveScript_GetScriptThreadState_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_InterruptScriptThread_Proxy(
    IActiveScript* This,
    SCRIPTTHREADID stidThread,
    const EXCEPINFO *pexcepinfo,
    DWORD dwFlags);
void __RPC_STUB IActiveScript_InterruptScriptThread_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScript_Clone_Proxy(
    IActiveScript* This,
    IActiveScript **ppscript);
void __RPC_STUB IActiveScript_Clone_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScript_INTERFACE_DEFINED__ */

typedef IActiveScript *PIActiveScript;
#ifndef __IActiveScriptParse_FWD_DEFINED__
#define __IActiveScriptParse_FWD_DEFINED__
typedef interface IActiveScriptParse IActiveScriptParse;
#endif

/*****************************************************************************
 * IActiveScriptParse interface
 */
#ifndef __IActiveScriptParse_INTERFACE_DEFINED__
#define __IActiveScriptParse_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParse, 0xbb1a2ae2, 0xa4f9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScriptParse : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE InitNew(
        ) = 0;

    virtual HRESULT STDMETHODCALLTYPE AddScriptlet(
        LPCOLESTR pstrDefaultName,
        LPCOLESTR pstrCode,
        LPCOLESTR pstrItemName,
        LPCOLESTR pstrSubItemName,
        LPCOLESTR pstrEventName,
        LPCOLESTR pstrDelimiter,
        DWORD dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        BSTR *pbstrName,
        EXCEPINFO *pexcepinfo) = 0;

    virtual HRESULT STDMETHODCALLTYPE ParseScriptText(
        LPCOLESTR pstrCode,
        LPCOLESTR pstrItemName,
        IUnknown *punkContext,
        LPCOLESTR pstrDelimiter,
        DWORD dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        VARIANT *pvarResult,
        EXCEPINFO *pexcepinfo) = 0;

};
#else
typedef struct IActiveScriptParseVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptParse methods ***/
    HRESULT (STDMETHODCALLTYPE *InitNew)(
        IActiveScriptParse* This);

    HRESULT (STDMETHODCALLTYPE *AddScriptlet)(
        IActiveScriptParse* This,
        LPCOLESTR pstrDefaultName,
        LPCOLESTR pstrCode,
        LPCOLESTR pstrItemName,
        LPCOLESTR pstrSubItemName,
        LPCOLESTR pstrEventName,
        LPCOLESTR pstrDelimiter,
        DWORD dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        BSTR *pbstrName,
        EXCEPINFO *pexcepinfo);

    HRESULT (STDMETHODCALLTYPE *ParseScriptText)(
        IActiveScriptParse* This,
        LPCOLESTR pstrCode,
        LPCOLESTR pstrItemName,
        IUnknown *punkContext,
        LPCOLESTR pstrDelimiter,
        DWORD dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        VARIANT *pvarResult,
        EXCEPINFO *pexcepinfo);

    END_INTERFACE
} IActiveScriptParseVtbl;
interface IActiveScriptParse {
    CONST_VTBL IActiveScriptParseVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptParse_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParse_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParse_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParse methods ***/
#define IActiveScriptParse_InitNew(This) (This)->lpVtbl->InitNew(This)
#define IActiveScriptParse_AddScriptlet(This,pstrDefaultName,pstrCode,pstrItemName,pstrSubItemName,pstrEventName,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pbstrName,pexcepinfo) (This)->lpVtbl->AddScriptlet(This,pstrDefaultName,pstrCode,pstrItemName,pstrSubItemName,pstrEventName,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pbstrName,pexcepinfo)
#define IActiveScriptParse_ParseScriptText(This,pstrCode,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pvarResult,pexcepinfo) (This)->lpVtbl->ParseScriptText(This,pstrCode,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pvarResult,pexcepinfo)
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptParse_InitNew_Proxy(
    IActiveScriptParse* This);
void __RPC_STUB IActiveScriptParse_InitNew_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptParse_AddScriptlet_Proxy(
    IActiveScriptParse* This,
    LPCOLESTR pstrDefaultName,
    LPCOLESTR pstrCode,
    LPCOLESTR pstrItemName,
    LPCOLESTR pstrSubItemName,
    LPCOLESTR pstrEventName,
    LPCOLESTR pstrDelimiter,
    DWORD dwSourceContextCookie,
    ULONG ulStartingLineNumber,
    DWORD dwFlags,
    BSTR *pbstrName,
    EXCEPINFO *pexcepinfo);
void __RPC_STUB IActiveScriptParse_AddScriptlet_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptParse_ParseScriptText_Proxy(
    IActiveScriptParse* This,
    LPCOLESTR pstrCode,
    LPCOLESTR pstrItemName,
    IUnknown *punkContext,
    LPCOLESTR pstrDelimiter,
    DWORD dwSourceContextCookie,
    ULONG ulStartingLineNumber,
    DWORD dwFlags,
    VARIANT *pvarResult,
    EXCEPINFO *pexcepinfo);
void __RPC_STUB IActiveScriptParse_ParseScriptText_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptParse_INTERFACE_DEFINED__ */

typedef IActiveScriptParse *PIActiveScriptParse;
#ifndef __IActiveScriptParseProcedureOld_FWD_DEFINED__
#define __IActiveScriptParseProcedureOld_FWD_DEFINED__
typedef interface IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld;
#endif

/*****************************************************************************
 * IActiveScriptParseProcedureOld interface
 */
#ifndef __IActiveScriptParseProcedureOld_INTERFACE_DEFINED__
#define __IActiveScriptParseProcedureOld_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParseProcedureOld, 0x1cff0050, 0x6fdd, 0x11d0, 0x93,0x28, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScriptParseProcedureOld : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE ParseProcedureText(
        LPCOLESTR pstrCode,
        LPCOLESTR pstrFormalParams,
        LPCOLESTR pstrItemName,
        IUnknown *punkContext,
        LPCOLESTR pstrDelimiter,
        DWORD dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        IDispatch **ppdisp) = 0;

};
#else
typedef struct IActiveScriptParseProcedureOldVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptParseProcedureOld methods ***/
    HRESULT (STDMETHODCALLTYPE *ParseProcedureText)(
        IActiveScriptParseProcedureOld* This,
        LPCOLESTR pstrCode,
        LPCOLESTR pstrFormalParams,
        LPCOLESTR pstrItemName,
        IUnknown *punkContext,
        LPCOLESTR pstrDelimiter,
        DWORD dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        IDispatch **ppdisp);

    END_INTERFACE
} IActiveScriptParseProcedureOldVtbl;
interface IActiveScriptParseProcedureOld {
    CONST_VTBL IActiveScriptParseProcedureOldVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedureOld_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParseProcedureOld_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParseProcedureOld_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParseProcedureOld methods ***/
#define IActiveScriptParseProcedureOld_ParseProcedureText(This,pstrCode,pstrFormalParams,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp) (This)->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp)
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptParseProcedureOld_ParseProcedureText_Proxy(
    IActiveScriptParseProcedureOld* This,
    LPCOLESTR pstrCode,
    LPCOLESTR pstrFormalParams,
    LPCOLESTR pstrItemName,
    IUnknown *punkContext,
    LPCOLESTR pstrDelimiter,
    DWORD dwSourceContextCookie,
    ULONG ulStartingLineNumber,
    DWORD dwFlags,
    IDispatch **ppdisp);
void __RPC_STUB IActiveScriptParseProcedureOld_ParseProcedureText_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptParseProcedureOld_INTERFACE_DEFINED__ */

#ifndef __IActiveScriptParseProcedure_FWD_DEFINED__
#define __IActiveScriptParseProcedure_FWD_DEFINED__
typedef interface IActiveScriptParseProcedure IActiveScriptParseProcedure;
#endif

/*****************************************************************************
 * IActiveScriptParseProcedure interface
 */
#ifndef __IActiveScriptParseProcedure_INTERFACE_DEFINED__
#define __IActiveScriptParseProcedure_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParseProcedure, 0xaa5b6a80, 0xb834, 0x11d0, 0x93,0x2f, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScriptParseProcedure : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE ParseProcedureText(
        LPCOLESTR pstrCode,
        LPCOLESTR pstrFormalParams,
        LPCOLESTR pstrProcedureName,
        LPCOLESTR pstrItemName,
        IUnknown *punkContext,
        LPCOLESTR pstrDelimiter,
        DWORD dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        IDispatch **ppdisp) = 0;

};
#else
typedef struct IActiveScriptParseProcedureVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptParseProcedure methods ***/
    HRESULT (STDMETHODCALLTYPE *ParseProcedureText)(
        IActiveScriptParseProcedure* This,
        LPCOLESTR pstrCode,
        LPCOLESTR pstrFormalParams,
        LPCOLESTR pstrProcedureName,
        LPCOLESTR pstrItemName,
        IUnknown *punkContext,
        LPCOLESTR pstrDelimiter,
        DWORD dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        IDispatch **ppdisp);

    END_INTERFACE
} IActiveScriptParseProcedureVtbl;
interface IActiveScriptParseProcedure {
    CONST_VTBL IActiveScriptParseProcedureVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedure_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParseProcedure_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParseProcedure_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParseProcedure methods ***/
#define IActiveScriptParseProcedure_ParseProcedureText(This,pstrCode,pstrFormalParams,pstrProcedureName,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp) (This)->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrProcedureName,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp)
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptParseProcedure_ParseProcedureText_Proxy(
    IActiveScriptParseProcedure* This,
    LPCOLESTR pstrCode,
    LPCOLESTR pstrFormalParams,
    LPCOLESTR pstrProcedureName,
    LPCOLESTR pstrItemName,
    IUnknown *punkContext,
    LPCOLESTR pstrDelimiter,
    DWORD dwSourceContextCookie,
    ULONG ulStartingLineNumber,
    DWORD dwFlags,
    IDispatch **ppdisp);
void __RPC_STUB IActiveScriptParseProcedure_ParseProcedureText_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptParseProcedure_INTERFACE_DEFINED__ */

#ifndef __IActiveScriptParseProcedure2_FWD_DEFINED__
#define __IActiveScriptParseProcedure2_FWD_DEFINED__
typedef interface IActiveScriptParseProcedure2 IActiveScriptParseProcedure2;
#endif

/*****************************************************************************
 * IActiveScriptParseProcedure2 interface
 */
#ifndef __IActiveScriptParseProcedure2_INTERFACE_DEFINED__
#define __IActiveScriptParseProcedure2_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParseProcedure2, 0x71ee5b20, 0xfb04, 0x11d1, 0xb3,0xa8, 0x00,0xa0,0xc9,0x11,0xe8,0xb2);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScriptParseProcedure2 : public IActiveScriptParseProcedure
{
};
#else
typedef struct IActiveScriptParseProcedure2Vtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptParseProcedure methods ***/
    HRESULT (STDMETHODCALLTYPE *ParseProcedureText)(
        IActiveScriptParseProcedure2* This,
        LPCOLESTR pstrCode,
        LPCOLESTR pstrFormalParams,
        LPCOLESTR pstrProcedureName,
        LPCOLESTR pstrItemName,
        IUnknown *punkContext,
        LPCOLESTR pstrDelimiter,
        DWORD dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        IDispatch **ppdisp);

    END_INTERFACE
} IActiveScriptParseProcedure2Vtbl;
interface IActiveScriptParseProcedure2 {
    CONST_VTBL IActiveScriptParseProcedure2Vtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedure2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParseProcedure2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParseProcedure2_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParseProcedure methods ***/
#define IActiveScriptParseProcedure2_ParseProcedureText(This,pstrCode,pstrFormalParams,pstrProcedureName,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp) (This)->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrProcedureName,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp)
#endif

#endif


#endif  /* __IActiveScriptParseProcedure2_INTERFACE_DEFINED__ */

#ifndef __IBindEventHandler_FWD_DEFINED__
#define __IBindEventHandler_FWD_DEFINED__
typedef interface IBindEventHandler IBindEventHandler;
#endif

/*****************************************************************************
 * IBindEventHandler interface
 */
#ifndef __IBindEventHandler_INTERFACE_DEFINED__
#define __IBindEventHandler_INTERFACE_DEFINED__

DEFINE_GUID(IID_IBindEventHandler, 0x63cdbcb0, 0xc1b1, 0x11d0, 0x93,0x36, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IBindEventHandler : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE BindHandler(
        LPCOLESTR pstrEvent,
        IDispatch *pdisp) = 0;

};
#else
typedef struct IBindEventHandlerVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IBindEventHandler methods ***/
    HRESULT (STDMETHODCALLTYPE *BindHandler)(
        IBindEventHandler* This,
        LPCOLESTR pstrEvent,
        IDispatch *pdisp);

    END_INTERFACE
} IBindEventHandlerVtbl;
interface IBindEventHandler {
    CONST_VTBL IBindEventHandlerVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IBindEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IBindEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IBindEventHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IBindEventHandler methods ***/
#define IBindEventHandler_BindHandler(This,pstrEvent,pdisp) (This)->lpVtbl->BindHandler(This,pstrEvent,pdisp)
#endif

#endif

HRESULT STDMETHODCALLTYPE IBindEventHandler_BindHandler_Proxy(
    IBindEventHandler* This,
    LPCOLESTR pstrEvent,
    IDispatch *pdisp);
void __RPC_STUB IBindEventHandler_BindHandler_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IBindEventHandler_INTERFACE_DEFINED__ */

#ifndef __IActiveScriptStats_FWD_DEFINED__
#define __IActiveScriptStats_FWD_DEFINED__
typedef interface IActiveScriptStats IActiveScriptStats;
#endif

/*****************************************************************************
 * IActiveScriptStats interface
 */
#ifndef __IActiveScriptStats_INTERFACE_DEFINED__
#define __IActiveScriptStats_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptStats, 0xb8da6310, 0xe19b, 0x11d0, 0x93,0x3c, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScriptStats : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetStat(
        DWORD stid,
        ULONG *pluHi,
        ULONG *pluLo) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetStatEx(
        REFGUID guid,
        ULONG *pluHi,
        ULONG *pluLo) = 0;

    virtual HRESULT STDMETHODCALLTYPE ResetStats(
        ) = 0;

};
#else
typedef struct IActiveScriptStatsVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptStats methods ***/
    HRESULT (STDMETHODCALLTYPE *GetStat)(
        IActiveScriptStats* This,
        DWORD stid,
        ULONG *pluHi,
        ULONG *pluLo);

    HRESULT (STDMETHODCALLTYPE *GetStatEx)(
        IActiveScriptStats* This,
        REFGUID guid,
        ULONG *pluHi,
        ULONG *pluLo);

    HRESULT (STDMETHODCALLTYPE *ResetStats)(
        IActiveScriptStats* This);

    END_INTERFACE
} IActiveScriptStatsVtbl;
interface IActiveScriptStats {
    CONST_VTBL IActiveScriptStatsVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptStats_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptStats_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptStats_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptStats methods ***/
#define IActiveScriptStats_GetStat(This,stid,pluHi,pluLo) (This)->lpVtbl->GetStat(This,stid,pluHi,pluLo)
#define IActiveScriptStats_GetStatEx(This,guid,pluHi,pluLo) (This)->lpVtbl->GetStatEx(This,guid,pluHi,pluLo)
#define IActiveScriptStats_ResetStats(This) (This)->lpVtbl->ResetStats(This)
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptStats_GetStat_Proxy(
    IActiveScriptStats* This,
    DWORD stid,
    ULONG *pluHi,
    ULONG *pluLo);
void __RPC_STUB IActiveScriptStats_GetStat_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptStats_GetStatEx_Proxy(
    IActiveScriptStats* This,
    REFGUID guid,
    ULONG *pluHi,
    ULONG *pluLo);
void __RPC_STUB IActiveScriptStats_GetStatEx_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptStats_ResetStats_Proxy(
    IActiveScriptStats* This);
void __RPC_STUB IActiveScriptStats_ResetStats_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptStats_INTERFACE_DEFINED__ */

#ifndef __IActiveScriptProperty_FWD_DEFINED__
#define __IActiveScriptProperty_FWD_DEFINED__
typedef interface IActiveScriptProperty IActiveScriptProperty;
#endif

/*****************************************************************************
 * IActiveScriptProperty interface
 */
#ifndef __IActiveScriptProperty_INTERFACE_DEFINED__
#define __IActiveScriptProperty_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptProperty, 0x4954e0d0, 0xfbc7, 0x11d1, 0x84,0x10, 0x00,0x60,0x08,0xc3,0xfb,0xfc);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IActiveScriptProperty : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetProperty(
        DWORD dwProperty,
        VARIANT *pvarIndex,
        VARIANT *pvarValue) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetProperty(
        DWORD dwProperty,
        VARIANT *pvarIndex,
        VARIANT *pvarValue) = 0;

};
#else
typedef struct IActiveScriptPropertyVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptProperty methods ***/
    HRESULT (STDMETHODCALLTYPE *GetProperty)(
        IActiveScriptProperty* This,
        DWORD dwProperty,
        VARIANT *pvarIndex,
        VARIANT *pvarValue);

    HRESULT (STDMETHODCALLTYPE *SetProperty)(
        IActiveScriptProperty* This,
        DWORD dwProperty,
        VARIANT *pvarIndex,
        VARIANT *pvarValue);

    END_INTERFACE
} IActiveScriptPropertyVtbl;
interface IActiveScriptProperty {
    CONST_VTBL IActiveScriptPropertyVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptProperty_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptProperty methods ***/
#define IActiveScriptProperty_GetProperty(This,dwProperty,pvarIndex,pvarValue) (This)->lpVtbl->GetProperty(This,dwProperty,pvarIndex,pvarValue)
#define IActiveScriptProperty_SetProperty(This,dwProperty,pvarIndex,pvarValue) (This)->lpVtbl->SetProperty(This,dwProperty,pvarIndex,pvarValue)
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptProperty_GetProperty_Proxy(
    IActiveScriptProperty* This,
    DWORD dwProperty,
    VARIANT *pvarIndex,
    VARIANT *pvarValue);
void __RPC_STUB IActiveScriptProperty_GetProperty_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptProperty_SetProperty_Proxy(
    IActiveScriptProperty* This,
    DWORD dwProperty,
    VARIANT *pvarIndex,
    VARIANT *pvarValue);
void __RPC_STUB IActiveScriptProperty_SetProperty_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptProperty_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */

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 *);
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 HWND_UserSize     (ULONG *, ULONG, HWND *);
unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __WIDL_ACTIVSCP_H */
