/*** Autogenerated by WIDL 0.1 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>
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 struct 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)
struct 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 IActiveScriptErrorVtbl;
struct IActiveScriptError {
    const IActiveScriptErrorVtbl* lpVtbl;
};
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
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptError_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IActiveScriptError_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IActiveScriptError_Release(p) (p)->lpVtbl->Release(p)
/*** IActiveScriptError methods ***/
#define IActiveScriptError_GetExceptionInfo(p,a) (p)->lpVtbl->GetExceptionInfo(p,a)
#define IActiveScriptError_GetSourcePosition(p,a,b,c) (p)->lpVtbl->GetSourcePosition(p,a,b,c)
#define IActiveScriptError_GetSourceLineText(p,a) (p)->lpVtbl->GetSourceLineText(p,a)
#endif

#endif

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

#endif  /* __IActiveScriptError_INTERFACE_DEFINED__ */

#ifndef __IActiveScriptSite_FWD_DEFINED__
#define __IActiveScriptSite_FWD_DEFINED__
typedef struct 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)
struct 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 IActiveScriptSiteVtbl;
struct IActiveScriptSite {
    const IActiveScriptSiteVtbl* lpVtbl;
};
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
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IActiveScriptSite_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IActiveScriptSite_Release(p) (p)->lpVtbl->Release(p)
/*** IActiveScriptSite methods ***/
#define IActiveScriptSite_GetLCID(p,a) (p)->lpVtbl->GetLCID(p,a)
#define IActiveScriptSite_GetItemInfo(p,a,b,c,d) (p)->lpVtbl->GetItemInfo(p,a,b,c,d)
#define IActiveScriptSite_GetDocVersionString(p,a) (p)->lpVtbl->GetDocVersionString(p,a)
#define IActiveScriptSite_OnScriptTerminate(p,a,b) (p)->lpVtbl->OnScriptTerminate(p,a,b)
#define IActiveScriptSite_OnStateChange(p,a) (p)->lpVtbl->OnStateChange(p,a)
#define IActiveScriptSite_OnScriptError(p,a) (p)->lpVtbl->OnScriptError(p,a)
#define IActiveScriptSite_OnEnterScript(p) (p)->lpVtbl->OnEnterScript(p)
#define IActiveScriptSite_OnLeaveScript(p) (p)->lpVtbl->OnLeaveScript(p)
#endif

#endif

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

#endif  /* __IActiveScriptSite_INTERFACE_DEFINED__ */

typedef IActiveScriptSite *PIActiveScriptSite;
#ifndef __IActiveScriptSiteWindow_FWD_DEFINED__
#define __IActiveScriptSiteWindow_FWD_DEFINED__
typedef struct 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)
struct IActiveScriptSiteWindow : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetWindow(
        HWND* phwnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnableModeless(
        BOOL fEnable) = 0;

};
#else
typedef struct IActiveScriptSiteWindowVtbl IActiveScriptSiteWindowVtbl;
struct IActiveScriptSiteWindow {
    const IActiveScriptSiteWindowVtbl* lpVtbl;
};
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
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptSiteWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IActiveScriptSiteWindow_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IActiveScriptSiteWindow_Release(p) (p)->lpVtbl->Release(p)
/*** IActiveScriptSiteWindow methods ***/
#define IActiveScriptSiteWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
#define IActiveScriptSiteWindow_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
#endif

#endif

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

#endif  /* __IActiveScriptSiteWindow_INTERFACE_DEFINED__ */

#ifndef __IActiveScriptSiteInterruptPoll_FWD_DEFINED__
#define __IActiveScriptSiteInterruptPoll_FWD_DEFINED__
typedef struct 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)
struct IActiveScriptSiteInterruptPoll : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE QueryContinue(
        ) = 0;

};
#else
typedef struct IActiveScriptSiteInterruptPollVtbl IActiveScriptSiteInterruptPollVtbl;
struct IActiveScriptSiteInterruptPoll {
    const IActiveScriptSiteInterruptPollVtbl* lpVtbl;
};
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
};

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

#endif

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

#endif  /* __IActiveScriptSiteInterruptPoll_INTERFACE_DEFINED__ */

#ifndef __IActiveScript_FWD_DEFINED__
#define __IActiveScript_FWD_DEFINED__
typedef struct 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)
struct 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 IActiveScriptVtbl;
struct IActiveScript {
    const IActiveScriptVtbl* lpVtbl;
};
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
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScript_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IActiveScript_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IActiveScript_Release(p) (p)->lpVtbl->Release(p)
/*** IActiveScript methods ***/
#define IActiveScript_SetScriptSite(p,a) (p)->lpVtbl->SetScriptSite(p,a)
#define IActiveScript_GetScriptSite(p,a,b) (p)->lpVtbl->GetScriptSite(p,a,b)
#define IActiveScript_SetScriptState(p,a) (p)->lpVtbl->SetScriptState(p,a)
#define IActiveScript_GetScriptState(p,a) (p)->lpVtbl->GetScriptState(p,a)
#define IActiveScript_Close(p) (p)->lpVtbl->Close(p)
#define IActiveScript_AddNamedItem(p,a,b) (p)->lpVtbl->AddNamedItem(p,a,b)
#define IActiveScript_AddTypeLib(p,a,b,c,d) (p)->lpVtbl->AddTypeLib(p,a,b,c,d)
#define IActiveScript_GetScriptDispatch(p,a,b) (p)->lpVtbl->GetScriptDispatch(p,a,b)
#define IActiveScript_GetCurrentScriptThreadID(p,a) (p)->lpVtbl->GetCurrentScriptThreadID(p,a)
#define IActiveScript_GetScriptThreadID(p,a,b) (p)->lpVtbl->GetScriptThreadID(p,a,b)
#define IActiveScript_GetScriptThreadState(p,a,b) (p)->lpVtbl->GetScriptThreadState(p,a,b)
#define IActiveScript_InterruptScriptThread(p,a,b,c) (p)->lpVtbl->InterruptScriptThread(p,a,b,c)
#define IActiveScript_Clone(p,a) (p)->lpVtbl->Clone(p,a)
#endif

#endif

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

#endif  /* __IActiveScript_INTERFACE_DEFINED__ */

typedef IActiveScript *PIActiveScript;
#ifndef __IActiveScriptParse_FWD_DEFINED__
#define __IActiveScriptParse_FWD_DEFINED__
typedef struct 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)
struct 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 IActiveScriptParseVtbl;
struct IActiveScriptParse {
    const IActiveScriptParseVtbl* lpVtbl;
};
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
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptParse_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IActiveScriptParse_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IActiveScriptParse_Release(p) (p)->lpVtbl->Release(p)
/*** IActiveScriptParse methods ***/
#define IActiveScriptParse_InitNew(p) (p)->lpVtbl->InitNew(p)
#define IActiveScriptParse_AddScriptlet(p,a,b,c,d,e,f,g,h,i,j,k) (p)->lpVtbl->AddScriptlet(p,a,b,c,d,e,f,g,h,i,j,k)
#define IActiveScriptParse_ParseScriptText(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->ParseScriptText(p,a,b,c,d,e,f,g,h,i)
#endif

#endif

HRESULT CALLBACK IActiveScriptParse_InitNew_Proxy(
    IActiveScriptParse* This);
void __RPC_STUB IActiveScriptParse_InitNew_Stub(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK 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(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK 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(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptParse_INTERFACE_DEFINED__ */

typedef IActiveScriptParse *PIActiveScriptParse;
#ifndef __IActiveScriptParseProcedureOld_FWD_DEFINED__
#define __IActiveScriptParseProcedureOld_FWD_DEFINED__
typedef struct 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)
struct 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 IActiveScriptParseProcedureOldVtbl;
struct IActiveScriptParseProcedureOld {
    const IActiveScriptParseProcedureOldVtbl* lpVtbl;
};
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
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedureOld_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IActiveScriptParseProcedureOld_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IActiveScriptParseProcedureOld_Release(p) (p)->lpVtbl->Release(p)
/*** IActiveScriptParseProcedureOld methods ***/
#define IActiveScriptParseProcedureOld_ParseProcedureText(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->ParseProcedureText(p,a,b,c,d,e,f,g,h,i)
#endif

#endif

HRESULT CALLBACK 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(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptParseProcedureOld_INTERFACE_DEFINED__ */

#ifndef __IActiveScriptParseProcedure_FWD_DEFINED__
#define __IActiveScriptParseProcedure_FWD_DEFINED__
typedef struct 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)
struct 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 IActiveScriptParseProcedureVtbl;
struct IActiveScriptParseProcedure {
    const IActiveScriptParseProcedureVtbl* lpVtbl;
};
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
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedure_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IActiveScriptParseProcedure_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IActiveScriptParseProcedure_Release(p) (p)->lpVtbl->Release(p)
/*** IActiveScriptParseProcedure methods ***/
#define IActiveScriptParseProcedure_ParseProcedureText(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->ParseProcedureText(p,a,b,c,d,e,f,g,h,i,j)
#endif

#endif

HRESULT CALLBACK 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(
    struct IRpcStubBuffer* This,
    struct IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptParseProcedure_INTERFACE_DEFINED__ */

#ifndef __IBindEventHandler_FWD_DEFINED__
#define __IBindEventHandler_FWD_DEFINED__
typedef struct 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)
struct IBindEventHandler : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE BindHandler(
        LPCOLESTR pstrEvent,
        IDispatch* pdisp) = 0;

};
#else
typedef struct IBindEventHandlerVtbl IBindEventHandlerVtbl;
struct IBindEventHandler {
    const IBindEventHandlerVtbl* lpVtbl;
};
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
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IBindEventHandler_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IBindEventHandler_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IBindEventHandler_Release(p) (p)->lpVtbl->Release(p)
/*** IBindEventHandler methods ***/
#define IBindEventHandler_BindHandler(p,a,b) (p)->lpVtbl->BindHandler(p,a,b)
#endif

#endif

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

#endif  /* __IBindEventHandler_INTERFACE_DEFINED__ */

#ifndef __IActiveScriptStats_FWD_DEFINED__
#define __IActiveScriptStats_FWD_DEFINED__
typedef struct 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)
struct 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 IActiveScriptStatsVtbl;
struct IActiveScriptStats {
    const IActiveScriptStatsVtbl* lpVtbl;
};
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
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IActiveScriptStats_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IActiveScriptStats_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IActiveScriptStats_Release(p) (p)->lpVtbl->Release(p)
/*** IActiveScriptStats methods ***/
#define IActiveScriptStats_GetStat(p,a,b,c) (p)->lpVtbl->GetStat(p,a,b,c)
#define IActiveScriptStats_GetStatEx(p,a,b,c) (p)->lpVtbl->GetStatEx(p,a,b,c)
#define IActiveScriptStats_ResetStats(p) (p)->lpVtbl->ResetStats(p)
#endif

#endif

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

#endif  /* __IActiveScriptStats_INTERFACE_DEFINED__ */

#ifdef __cplusplus
}
#endif
#endif /* __WIDL_ACTIVSCP_H */
