/*** Autogenerated by WIDL 1.8-rc2 from ../../wine/include/activscp.idl - Do not edit ***/

#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include <rpc.h>
#include <rpcndr.h>

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

#ifndef __activscp_h__
#define __activscp_h__

/* Forward declarations */

#ifndef __IActiveScriptError_FWD_DEFINED__
#define __IActiveScriptError_FWD_DEFINED__
typedef interface IActiveScriptError IActiveScriptError;
#ifdef __cplusplus
interface IActiveScriptError;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptSite_FWD_DEFINED__
#define __IActiveScriptSite_FWD_DEFINED__
typedef interface IActiveScriptSite IActiveScriptSite;
#ifdef __cplusplus
interface IActiveScriptSite;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptSiteWindow_FWD_DEFINED__
#define __IActiveScriptSiteWindow_FWD_DEFINED__
typedef interface IActiveScriptSiteWindow IActiveScriptSiteWindow;
#ifdef __cplusplus
interface IActiveScriptSiteWindow;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptSiteUIControl_FWD_DEFINED__
#define __IActiveScriptSiteUIControl_FWD_DEFINED__
typedef interface IActiveScriptSiteUIControl IActiveScriptSiteUIControl;
#ifdef __cplusplus
interface IActiveScriptSiteUIControl;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptSiteInterruptPoll_FWD_DEFINED__
#define __IActiveScriptSiteInterruptPoll_FWD_DEFINED__
typedef interface IActiveScriptSiteInterruptPoll IActiveScriptSiteInterruptPoll;
#ifdef __cplusplus
interface IActiveScriptSiteInterruptPoll;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScript_FWD_DEFINED__
#define __IActiveScript_FWD_DEFINED__
typedef interface IActiveScript IActiveScript;
#ifdef __cplusplus
interface IActiveScript;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptParse32_FWD_DEFINED__
#define __IActiveScriptParse32_FWD_DEFINED__
typedef interface IActiveScriptParse32 IActiveScriptParse32;
#ifdef __cplusplus
interface IActiveScriptParse32;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptParse64_FWD_DEFINED__
#define __IActiveScriptParse64_FWD_DEFINED__
typedef interface IActiveScriptParse64 IActiveScriptParse64;
#ifdef __cplusplus
interface IActiveScriptParse64;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptParseProcedureOld32_FWD_DEFINED__
#define __IActiveScriptParseProcedureOld32_FWD_DEFINED__
typedef interface IActiveScriptParseProcedureOld32 IActiveScriptParseProcedureOld32;
#ifdef __cplusplus
interface IActiveScriptParseProcedureOld32;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptParseProcedureOld64_FWD_DEFINED__
#define __IActiveScriptParseProcedureOld64_FWD_DEFINED__
typedef interface IActiveScriptParseProcedureOld64 IActiveScriptParseProcedureOld64;
#ifdef __cplusplus
interface IActiveScriptParseProcedureOld64;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptParseProcedure32_FWD_DEFINED__
#define __IActiveScriptParseProcedure32_FWD_DEFINED__
typedef interface IActiveScriptParseProcedure32 IActiveScriptParseProcedure32;
#ifdef __cplusplus
interface IActiveScriptParseProcedure32;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptParseProcedure64_FWD_DEFINED__
#define __IActiveScriptParseProcedure64_FWD_DEFINED__
typedef interface IActiveScriptParseProcedure64 IActiveScriptParseProcedure64;
#ifdef __cplusplus
interface IActiveScriptParseProcedure64;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptParseProcedure2_32_FWD_DEFINED__
#define __IActiveScriptParseProcedure2_32_FWD_DEFINED__
typedef interface IActiveScriptParseProcedure2_32 IActiveScriptParseProcedure2_32;
#ifdef __cplusplus
interface IActiveScriptParseProcedure2_32;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptParseProcedure2_64_FWD_DEFINED__
#define __IActiveScriptParseProcedure2_64_FWD_DEFINED__
typedef interface IActiveScriptParseProcedure2_64 IActiveScriptParseProcedure2_64;
#ifdef __cplusplus
interface IActiveScriptParseProcedure2_64;
#endif /* __cplusplus */
#endif

#ifndef __IBindEventHandler_FWD_DEFINED__
#define __IBindEventHandler_FWD_DEFINED__
typedef interface IBindEventHandler IBindEventHandler;
#ifdef __cplusplus
interface IBindEventHandler;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptStats_FWD_DEFINED__
#define __IActiveScriptStats_FWD_DEFINED__
typedef interface IActiveScriptStats IActiveScriptStats;
#ifdef __cplusplus
interface IActiveScriptStats;
#endif /* __cplusplus */
#endif

#ifndef __IActiveScriptProperty_FWD_DEFINED__
#define __IActiveScriptProperty_FWD_DEFINED__
typedef interface IActiveScriptProperty IActiveScriptProperty;
#ifdef __cplusplus
interface IActiveScriptProperty;
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <ocidl.h>
#include <oleidl.h>
#include <oaidl.h>

#ifdef __cplusplus
extern "C" {
#endif

#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_INVOKEVERSIONING       0x00004000
#define SCRIPTPROP_HACK_FIBERSUPPORT                0x70000000
#define SCRIPTPROP_HACK_TRIDENTEVENTSINK            0x70000001
#define SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION 0x70000002
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 enum tagSCRIPTUICITEM {
    SCRIPTUICITEM_INPUTBOX = 1,
    SCRIPTUICITEM_MSGBOX = 2
} SCRIPTUICITEM;
typedef enum tagSCRIPTUICHANDLING {
    SCRIPTUICHANDLING_ALLOW = 0,
    SCRIPTUICHANDLING_NOUIERROR = 1,
    SCRIPTUICHANDLING_NOUIDEFAULT = 2
} SCRIPTUICHANDLING;
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
#define SCRIPT_E_RECORDED  0x86664004
#define SCRIPT_E_REPORTED  0x80020101
#define SCRIPT_E_PROPAGATE 0x80020102
/*****************************************************************************
 * 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)
MIDL_INTERFACE("eae1ba61-a4ed-11cf-8f20-00805f2cd064")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptError, 0xeae1ba61, 0xa4ed, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptError_QueryInterface(IActiveScriptError* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptError_AddRef(IActiveScriptError* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptError_Release(IActiveScriptError* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptError methods ***/
static FORCEINLINE HRESULT IActiveScriptError_GetExceptionInfo(IActiveScriptError* This,EXCEPINFO *pexcepinfo) {
    return This->lpVtbl->GetExceptionInfo(This,pexcepinfo);
}
static FORCEINLINE HRESULT IActiveScriptError_GetSourcePosition(IActiveScriptError* This,DWORD *pdwSourceContext,ULONG *pulLineNumber,LONG *plCharacterPosition) {
    return This->lpVtbl->GetSourcePosition(This,pdwSourceContext,pulLineNumber,plCharacterPosition);
}
static FORCEINLINE HRESULT IActiveScriptError_GetSourceLineText(IActiveScriptError* This,BSTR *pbstrSourceLine) {
    return This->lpVtbl->GetSourceLineText(This,pbstrSourceLine);
}
#endif
#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__ */

/*****************************************************************************
 * 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)
MIDL_INTERFACE("db01a1e3-a42b-11cf-8f20-00805f2cd064")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptSite, 0xdb01a1e3, 0xa42b, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptSite_QueryInterface(IActiveScriptSite* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptSite_AddRef(IActiveScriptSite* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptSite_Release(IActiveScriptSite* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptSite methods ***/
static FORCEINLINE HRESULT IActiveScriptSite_GetLCID(IActiveScriptSite* This,LCID *plcid) {
    return This->lpVtbl->GetLCID(This,plcid);
}
static FORCEINLINE HRESULT IActiveScriptSite_GetItemInfo(IActiveScriptSite* This,LPCOLESTR pstrName,DWORD dwReturnMask,IUnknown **ppiunkItem,ITypeInfo **ppti) {
    return This->lpVtbl->GetItemInfo(This,pstrName,dwReturnMask,ppiunkItem,ppti);
}
static FORCEINLINE HRESULT IActiveScriptSite_GetDocVersionString(IActiveScriptSite* This,BSTR *pbstrVersion) {
    return This->lpVtbl->GetDocVersionString(This,pbstrVersion);
}
static FORCEINLINE HRESULT IActiveScriptSite_OnScriptTerminate(IActiveScriptSite* This,const VARIANT *pvarResult,const EXCEPINFO *pexcepinfo) {
    return This->lpVtbl->OnScriptTerminate(This,pvarResult,pexcepinfo);
}
static FORCEINLINE HRESULT IActiveScriptSite_OnStateChange(IActiveScriptSite* This,SCRIPTSTATE ssScriptState) {
    return This->lpVtbl->OnStateChange(This,ssScriptState);
}
static FORCEINLINE HRESULT IActiveScriptSite_OnScriptError(IActiveScriptSite* This,IActiveScriptError *pscripterror) {
    return This->lpVtbl->OnScriptError(This,pscripterror);
}
static FORCEINLINE HRESULT IActiveScriptSite_OnEnterScript(IActiveScriptSite* This) {
    return This->lpVtbl->OnEnterScript(This);
}
static FORCEINLINE HRESULT IActiveScriptSite_OnLeaveScript(IActiveScriptSite* This) {
    return This->lpVtbl->OnLeaveScript(This);
}
#endif
#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;
/*****************************************************************************
 * 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)
MIDL_INTERFACE("d10f6761-83e9-11cf-8f20-00805f2cd064")
IActiveScriptSiteWindow : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetWindow(
        HWND *phwnd) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnableModeless(
        BOOL fEnable) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptSiteWindow, 0xd10f6761, 0x83e9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptSiteWindow_QueryInterface(IActiveScriptSiteWindow* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptSiteWindow_AddRef(IActiveScriptSiteWindow* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptSiteWindow_Release(IActiveScriptSiteWindow* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptSiteWindow methods ***/
static FORCEINLINE HRESULT IActiveScriptSiteWindow_GetWindow(IActiveScriptSiteWindow* This,HWND *phwnd) {
    return This->lpVtbl->GetWindow(This,phwnd);
}
static FORCEINLINE HRESULT IActiveScriptSiteWindow_EnableModeless(IActiveScriptSiteWindow* This,BOOL fEnable) {
    return This->lpVtbl->EnableModeless(This,fEnable);
}
#endif
#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__ */

/*****************************************************************************
 * IActiveScriptSiteUIControl interface
 */
#ifndef __IActiveScriptSiteUIControl_INTERFACE_DEFINED__
#define __IActiveScriptSiteUIControl_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptSiteUIControl, 0xaedae97e, 0xd7ee, 0x4796, 0xb9,0x60, 0x7f,0x09,0x2a,0xe8,0x44,0xab);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("aedae97e-d7ee-4796-b960-7f092ae844ab")
IActiveScriptSiteUIControl : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE GetUIBehavior(
        SCRIPTUICITEM UicItem,
        SCRIPTUICHANDLING *pUicHandling) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptSiteUIControl, 0xaedae97e, 0xd7ee, 0x4796, 0xb9,0x60, 0x7f,0x09,0x2a,0xe8,0x44,0xab)
#endif
#else
typedef struct IActiveScriptSiteUIControlVtbl {
    BEGIN_INTERFACE

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

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

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

    /*** IActiveScriptSiteUIControl methods ***/
    HRESULT (STDMETHODCALLTYPE *GetUIBehavior)(
        IActiveScriptSiteUIControl *This,
        SCRIPTUICITEM UicItem,
        SCRIPTUICHANDLING *pUicHandling);

    END_INTERFACE
} IActiveScriptSiteUIControlVtbl;

interface IActiveScriptSiteUIControl {
    CONST_VTBL IActiveScriptSiteUIControlVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActiveScriptSiteUIControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptSiteUIControl_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptSiteUIControl_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptSiteUIControl methods ***/
#define IActiveScriptSiteUIControl_GetUIBehavior(This,UicItem,pUicHandling) (This)->lpVtbl->GetUIBehavior(This,UicItem,pUicHandling)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptSiteUIControl_QueryInterface(IActiveScriptSiteUIControl* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptSiteUIControl_AddRef(IActiveScriptSiteUIControl* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptSiteUIControl_Release(IActiveScriptSiteUIControl* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptSiteUIControl methods ***/
static FORCEINLINE HRESULT IActiveScriptSiteUIControl_GetUIBehavior(IActiveScriptSiteUIControl* This,SCRIPTUICITEM UicItem,SCRIPTUICHANDLING *pUicHandling) {
    return This->lpVtbl->GetUIBehavior(This,UicItem,pUicHandling);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptSiteUIControl_GetUIBehavior_Proxy(
    IActiveScriptSiteUIControl* This,
    SCRIPTUICITEM UicItem,
    SCRIPTUICHANDLING *pUicHandling);
void __RPC_STUB IActiveScriptSiteUIControl_GetUIBehavior_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptSiteUIControl_INTERFACE_DEFINED__ */

/*****************************************************************************
 * 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)
MIDL_INTERFACE("539698a0-cdca-11cf-a5eb-00aa0047a063")
IActiveScriptSiteInterruptPoll : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE QueryContinue(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptSiteInterruptPoll, 0x539698a0, 0xcdca, 0x11cf, 0xa5,0xeb, 0x00,0xaa,0x00,0x47,0xa0,0x63)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptSiteInterruptPoll_QueryInterface(IActiveScriptSiteInterruptPoll* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptSiteInterruptPoll_AddRef(IActiveScriptSiteInterruptPoll* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptSiteInterruptPoll_Release(IActiveScriptSiteInterruptPoll* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptSiteInterruptPoll methods ***/
static FORCEINLINE HRESULT IActiveScriptSiteInterruptPoll_QueryContinue(IActiveScriptSiteInterruptPoll* This) {
    return This->lpVtbl->QueryContinue(This);
}
#endif
#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__ */

/*****************************************************************************
 * 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)
MIDL_INTERFACE("bb1a2ae1-a4f9-11cf-8f20-00805f2cd064")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScript, 0xbb1a2ae1, 0xa4f9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScript_QueryInterface(IActiveScript* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScript_AddRef(IActiveScript* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScript_Release(IActiveScript* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScript methods ***/
static FORCEINLINE HRESULT IActiveScript_SetScriptSite(IActiveScript* This,IActiveScriptSite *pass) {
    return This->lpVtbl->SetScriptSite(This,pass);
}
static FORCEINLINE HRESULT IActiveScript_GetScriptSite(IActiveScript* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->GetScriptSite(This,riid,ppvObject);
}
static FORCEINLINE HRESULT IActiveScript_SetScriptState(IActiveScript* This,SCRIPTSTATE ss) {
    return This->lpVtbl->SetScriptState(This,ss);
}
static FORCEINLINE HRESULT IActiveScript_GetScriptState(IActiveScript* This,SCRIPTSTATE *pssState) {
    return This->lpVtbl->GetScriptState(This,pssState);
}
static FORCEINLINE HRESULT IActiveScript_Close(IActiveScript* This) {
    return This->lpVtbl->Close(This);
}
static FORCEINLINE HRESULT IActiveScript_AddNamedItem(IActiveScript* This,LPCOLESTR pstrName,DWORD dwFlags) {
    return This->lpVtbl->AddNamedItem(This,pstrName,dwFlags);
}
static FORCEINLINE HRESULT IActiveScript_AddTypeLib(IActiveScript* This,REFGUID rguidTypeLib,DWORD dwMajor,DWORD dwMinor,DWORD dwFlags) {
    return This->lpVtbl->AddTypeLib(This,rguidTypeLib,dwMajor,dwMinor,dwFlags);
}
static FORCEINLINE HRESULT IActiveScript_GetScriptDispatch(IActiveScript* This,LPCOLESTR pstrItemName,IDispatch **ppdisp) {
    return This->lpVtbl->GetScriptDispatch(This,pstrItemName,ppdisp);
}
static FORCEINLINE HRESULT IActiveScript_GetCurrentScriptThreadID(IActiveScript* This,SCRIPTTHREADID *pstidThread) {
    return This->lpVtbl->GetCurrentScriptThreadID(This,pstidThread);
}
static FORCEINLINE HRESULT IActiveScript_GetScriptThreadID(IActiveScript* This,DWORD dwWin32ThreadId,SCRIPTTHREADID *pstidThread) {
    return This->lpVtbl->GetScriptThreadID(This,dwWin32ThreadId,pstidThread);
}
static FORCEINLINE HRESULT IActiveScript_GetScriptThreadState(IActiveScript* This,SCRIPTTHREADID stidThread,SCRIPTTHREADSTATE *pstsState) {
    return This->lpVtbl->GetScriptThreadState(This,stidThread,pstsState);
}
static FORCEINLINE HRESULT IActiveScript_InterruptScriptThread(IActiveScript* This,SCRIPTTHREADID stidThread,const EXCEPINFO *pexcepinfo,DWORD dwFlags) {
    return This->lpVtbl->InterruptScriptThread(This,stidThread,pexcepinfo,dwFlags);
}
static FORCEINLINE HRESULT IActiveScript_Clone(IActiveScript* This,IActiveScript **ppscript) {
    return This->lpVtbl->Clone(This,ppscript);
}
#endif
#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;
/*****************************************************************************
 * IActiveScriptParse32 interface
 */
#ifndef __IActiveScriptParse32_INTERFACE_DEFINED__
#define __IActiveScriptParse32_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParse32, 0xbb1a2ae2, 0xa4f9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bb1a2ae2-a4f9-11cf-8f20-00805f2cd064")
IActiveScriptParse32 : 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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptParse32, 0xbb1a2ae2, 0xa4f9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64)
#endif
#else
typedef struct IActiveScriptParse32Vtbl {
    BEGIN_INTERFACE

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

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

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

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

    HRESULT (STDMETHODCALLTYPE *AddScriptlet)(
        IActiveScriptParse32 *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)(
        IActiveScriptParse32 *This,
        LPCOLESTR pstrCode,
        LPCOLESTR pstrItemName,
        IUnknown *punkContext,
        LPCOLESTR pstrDelimiter,
        DWORD dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        VARIANT *pvarResult,
        EXCEPINFO *pexcepinfo);

    END_INTERFACE
} IActiveScriptParse32Vtbl;

interface IActiveScriptParse32 {
    CONST_VTBL IActiveScriptParse32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActiveScriptParse32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParse32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParse32_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParse32 methods ***/
#define IActiveScriptParse32_InitNew(This) (This)->lpVtbl->InitNew(This)
#define IActiveScriptParse32_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 IActiveScriptParse32_ParseScriptText(This,pstrCode,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pvarResult,pexcepinfo) (This)->lpVtbl->ParseScriptText(This,pstrCode,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pvarResult,pexcepinfo)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptParse32_QueryInterface(IActiveScriptParse32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptParse32_AddRef(IActiveScriptParse32* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptParse32_Release(IActiveScriptParse32* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptParse32 methods ***/
static FORCEINLINE HRESULT IActiveScriptParse32_InitNew(IActiveScriptParse32* This) {
    return This->lpVtbl->InitNew(This);
}
static FORCEINLINE HRESULT IActiveScriptParse32_AddScriptlet(IActiveScriptParse32* This,LPCOLESTR pstrDefaultName,LPCOLESTR pstrCode,LPCOLESTR pstrItemName,LPCOLESTR pstrSubItemName,LPCOLESTR pstrEventName,LPCOLESTR pstrDelimiter,DWORD dwSourceContextCookie,ULONG ulStartingLineNumber,DWORD dwFlags,BSTR *pbstrName,EXCEPINFO *pexcepinfo) {
    return This->lpVtbl->AddScriptlet(This,pstrDefaultName,pstrCode,pstrItemName,pstrSubItemName,pstrEventName,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pbstrName,pexcepinfo);
}
static FORCEINLINE HRESULT IActiveScriptParse32_ParseScriptText(IActiveScriptParse32* This,LPCOLESTR pstrCode,LPCOLESTR pstrItemName,IUnknown *punkContext,LPCOLESTR pstrDelimiter,DWORD dwSourceContextCookie,ULONG ulStartingLineNumber,DWORD dwFlags,VARIANT *pvarResult,EXCEPINFO *pexcepinfo) {
    return This->lpVtbl->ParseScriptText(This,pstrCode,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pvarResult,pexcepinfo);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptParse32_InitNew_Proxy(
    IActiveScriptParse32* This);
void __RPC_STUB IActiveScriptParse32_InitNew_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptParse32_AddScriptlet_Proxy(
    IActiveScriptParse32* 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 IActiveScriptParse32_AddScriptlet_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptParse32_ParseScriptText_Proxy(
    IActiveScriptParse32* This,
    LPCOLESTR pstrCode,
    LPCOLESTR pstrItemName,
    IUnknown *punkContext,
    LPCOLESTR pstrDelimiter,
    DWORD dwSourceContextCookie,
    ULONG ulStartingLineNumber,
    DWORD dwFlags,
    VARIANT *pvarResult,
    EXCEPINFO *pexcepinfo);
void __RPC_STUB IActiveScriptParse32_ParseScriptText_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptParse32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IActiveScriptParse64 interface
 */
#ifndef __IActiveScriptParse64_INTERFACE_DEFINED__
#define __IActiveScriptParse64_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParse64, 0xc7ef7658, 0xe1ee, 0x480e, 0x97,0xea, 0xd5,0x2c,0xb4,0xd7,0x6d,0x17);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c7ef7658-e1ee-480e-97ea-d52cb4d76d17")
IActiveScriptParse64 : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE InitNew(
        ) = 0;

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

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

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptParse64, 0xc7ef7658, 0xe1ee, 0x480e, 0x97,0xea, 0xd5,0x2c,0xb4,0xd7,0x6d,0x17)
#endif
#else
typedef struct IActiveScriptParse64Vtbl {
    BEGIN_INTERFACE

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

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

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

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

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

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

    END_INTERFACE
} IActiveScriptParse64Vtbl;

interface IActiveScriptParse64 {
    CONST_VTBL IActiveScriptParse64Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActiveScriptParse64_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParse64_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParse64_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParse64 methods ***/
#define IActiveScriptParse64_InitNew(This) (This)->lpVtbl->InitNew(This)
#define IActiveScriptParse64_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 IActiveScriptParse64_ParseScriptText(This,pstrCode,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pvarResult,pexcepinfo) (This)->lpVtbl->ParseScriptText(This,pstrCode,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pvarResult,pexcepinfo)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptParse64_QueryInterface(IActiveScriptParse64* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptParse64_AddRef(IActiveScriptParse64* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptParse64_Release(IActiveScriptParse64* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptParse64 methods ***/
static FORCEINLINE HRESULT IActiveScriptParse64_InitNew(IActiveScriptParse64* This) {
    return This->lpVtbl->InitNew(This);
}
static FORCEINLINE HRESULT IActiveScriptParse64_AddScriptlet(IActiveScriptParse64* This,LPCOLESTR pstrDefaultName,LPCOLESTR pstrCode,LPCOLESTR pstrItemName,LPCOLESTR pstrSubItemName,LPCOLESTR pstrEventName,LPCOLESTR pstrDelimiter,DWORDLONG dwSourceContextCookie,ULONG ulStartingLineNumber,DWORD dwFlags,BSTR *pbstrName,EXCEPINFO *pexcepinfo) {
    return This->lpVtbl->AddScriptlet(This,pstrDefaultName,pstrCode,pstrItemName,pstrSubItemName,pstrEventName,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pbstrName,pexcepinfo);
}
static FORCEINLINE HRESULT IActiveScriptParse64_ParseScriptText(IActiveScriptParse64* This,LPCOLESTR pstrCode,LPCOLESTR pstrItemName,IUnknown *punkContext,LPCOLESTR pstrDelimiter,DWORDLONG dwSourceContextCookie,ULONG ulStartingLineNumber,DWORD dwFlags,VARIANT *pvarResult,EXCEPINFO *pexcepinfo) {
    return This->lpVtbl->ParseScriptText(This,pstrCode,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,pvarResult,pexcepinfo);
}
#endif
#endif

#endif

HRESULT STDMETHODCALLTYPE IActiveScriptParse64_InitNew_Proxy(
    IActiveScriptParse64* This);
void __RPC_STUB IActiveScriptParse64_InitNew_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptParse64_AddScriptlet_Proxy(
    IActiveScriptParse64* This,
    LPCOLESTR pstrDefaultName,
    LPCOLESTR pstrCode,
    LPCOLESTR pstrItemName,
    LPCOLESTR pstrSubItemName,
    LPCOLESTR pstrEventName,
    LPCOLESTR pstrDelimiter,
    DWORDLONG dwSourceContextCookie,
    ULONG ulStartingLineNumber,
    DWORD dwFlags,
    BSTR *pbstrName,
    EXCEPINFO *pexcepinfo);
void __RPC_STUB IActiveScriptParse64_AddScriptlet_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IActiveScriptParse64_ParseScriptText_Proxy(
    IActiveScriptParse64* This,
    LPCOLESTR pstrCode,
    LPCOLESTR pstrItemName,
    IUnknown *punkContext,
    LPCOLESTR pstrDelimiter,
    DWORDLONG dwSourceContextCookie,
    ULONG ulStartingLineNumber,
    DWORD dwFlags,
    VARIANT *pvarResult,
    EXCEPINFO *pexcepinfo);
void __RPC_STUB IActiveScriptParse64_ParseScriptText_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __IActiveScriptParse64_INTERFACE_DEFINED__ */

#ifdef _WIN64
#define IActiveScriptParse IActiveScriptParse64
#define IID_IActiveScriptParse IID_IActiveScriptParse64
#else
#define IActiveScriptParse IActiveScriptParse32
#define IID_IActiveScriptParse IID_IActiveScriptParse32
#endif
typedef IActiveScriptParse *PIActiveScriptParse;
/*****************************************************************************
 * IActiveScriptParseProcedureOld32 interface
 */
#ifndef __IActiveScriptParseProcedureOld32_INTERFACE_DEFINED__
#define __IActiveScriptParseProcedureOld32_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParseProcedureOld32, 0x1cff0050, 0x6fdd, 0x11d0, 0x93,0x28, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1cff0050-6fdd-11d0-9328-00a0c90dcaa9")
IActiveScriptParseProcedureOld32 : 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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptParseProcedureOld32, 0x1cff0050, 0x6fdd, 0x11d0, 0x93,0x28, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
#endif
#else
typedef struct IActiveScriptParseProcedureOld32Vtbl {
    BEGIN_INTERFACE

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

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

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

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

    END_INTERFACE
} IActiveScriptParseProcedureOld32Vtbl;

interface IActiveScriptParseProcedureOld32 {
    CONST_VTBL IActiveScriptParseProcedureOld32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedureOld32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParseProcedureOld32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParseProcedureOld32_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParseProcedureOld32 methods ***/
#define IActiveScriptParseProcedureOld32_ParseProcedureText(This,pstrCode,pstrFormalParams,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp) (This)->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedureOld32_QueryInterface(IActiveScriptParseProcedureOld32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptParseProcedureOld32_AddRef(IActiveScriptParseProcedureOld32* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptParseProcedureOld32_Release(IActiveScriptParseProcedureOld32* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptParseProcedureOld32 methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedureOld32_ParseProcedureText(IActiveScriptParseProcedureOld32* This,LPCOLESTR pstrCode,LPCOLESTR pstrFormalParams,LPCOLESTR pstrItemName,IUnknown *punkContext,LPCOLESTR pstrDelimiter,DWORD dwSourceContextCookie,ULONG ulStartingLineNumber,DWORD dwFlags,IDispatch **ppdisp) {
    return This->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp);
}
#endif
#endif

#endif

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

#endif  /* __IActiveScriptParseProcedureOld32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IActiveScriptParseProcedureOld64 interface
 */
#ifndef __IActiveScriptParseProcedureOld64_INTERFACE_DEFINED__
#define __IActiveScriptParseProcedureOld64_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParseProcedureOld64, 0x21f57128, 0x08c9, 0x4638, 0xba,0x12, 0x22,0xd1,0x5d,0x88,0xdc,0x5c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("21f57128-08c9-4638-ba12-22d15d88dc5c")
IActiveScriptParseProcedureOld64 : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE ParseProcedureText(
        LPCOLESTR pstrCode,
        LPCOLESTR pstrFormalParams,
        LPCOLESTR pstrItemName,
        IUnknown *punkContext,
        LPCOLESTR pstrDelimiter,
        DWORDLONG dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        IDispatch **ppdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptParseProcedureOld64, 0x21f57128, 0x08c9, 0x4638, 0xba,0x12, 0x22,0xd1,0x5d,0x88,0xdc,0x5c)
#endif
#else
typedef struct IActiveScriptParseProcedureOld64Vtbl {
    BEGIN_INTERFACE

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

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

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

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

    END_INTERFACE
} IActiveScriptParseProcedureOld64Vtbl;

interface IActiveScriptParseProcedureOld64 {
    CONST_VTBL IActiveScriptParseProcedureOld64Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedureOld64_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParseProcedureOld64_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParseProcedureOld64_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParseProcedureOld64 methods ***/
#define IActiveScriptParseProcedureOld64_ParseProcedureText(This,pstrCode,pstrFormalParams,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp) (This)->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedureOld64_QueryInterface(IActiveScriptParseProcedureOld64* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptParseProcedureOld64_AddRef(IActiveScriptParseProcedureOld64* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptParseProcedureOld64_Release(IActiveScriptParseProcedureOld64* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptParseProcedureOld64 methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedureOld64_ParseProcedureText(IActiveScriptParseProcedureOld64* This,LPCOLESTR pstrCode,LPCOLESTR pstrFormalParams,LPCOLESTR pstrItemName,IUnknown *punkContext,LPCOLESTR pstrDelimiter,DWORDLONG dwSourceContextCookie,ULONG ulStartingLineNumber,DWORD dwFlags,IDispatch **ppdisp) {
    return This->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp);
}
#endif
#endif

#endif

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

#endif  /* __IActiveScriptParseProcedureOld64_INTERFACE_DEFINED__ */

#ifdef _WIN64
#define IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld64
#define IID_IActiveScriptParseProcedureOld IID_IActiveScriptParseProcedureOld64
#else
#define IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld32
#define IID_IActiveScriptParseProcedureOld IID_IActiveScriptParseProcedureOld32
#endif
/*****************************************************************************
 * IActiveScriptParseProcedure32 interface
 */
#ifndef __IActiveScriptParseProcedure32_INTERFACE_DEFINED__
#define __IActiveScriptParseProcedure32_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParseProcedure32, 0xaa5b6a80, 0xb834, 0x11d0, 0x93,0x2f, 0x00,0xa0,0xc9,0x0d,0xca,0xa9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("aa5b6a80-b834-11d0-932f-00a0c90dcaa9")
IActiveScriptParseProcedure32 : 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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptParseProcedure32, 0xaa5b6a80, 0xb834, 0x11d0, 0x93,0x2f, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
#endif
#else
typedef struct IActiveScriptParseProcedure32Vtbl {
    BEGIN_INTERFACE

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

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

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

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

    END_INTERFACE
} IActiveScriptParseProcedure32Vtbl;

interface IActiveScriptParseProcedure32 {
    CONST_VTBL IActiveScriptParseProcedure32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedure32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParseProcedure32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParseProcedure32_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParseProcedure32 methods ***/
#define IActiveScriptParseProcedure32_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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedure32_QueryInterface(IActiveScriptParseProcedure32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptParseProcedure32_AddRef(IActiveScriptParseProcedure32* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptParseProcedure32_Release(IActiveScriptParseProcedure32* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptParseProcedure32 methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedure32_ParseProcedureText(IActiveScriptParseProcedure32* This,LPCOLESTR pstrCode,LPCOLESTR pstrFormalParams,LPCOLESTR pstrProcedureName,LPCOLESTR pstrItemName,IUnknown *punkContext,LPCOLESTR pstrDelimiter,DWORD dwSourceContextCookie,ULONG ulStartingLineNumber,DWORD dwFlags,IDispatch **ppdisp) {
    return This->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrProcedureName,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp);
}
#endif
#endif

#endif

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

#endif  /* __IActiveScriptParseProcedure32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IActiveScriptParseProcedure64 interface
 */
#ifndef __IActiveScriptParseProcedure64_INTERFACE_DEFINED__
#define __IActiveScriptParseProcedure64_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParseProcedure64, 0xc64713b6, 0xe029, 0x4cc5, 0x92,0x00, 0x43,0x8b,0x72,0x89,0x0b,0x6a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c64713b6-e029-4cc5-9200-438b72890b6a")
IActiveScriptParseProcedure64 : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE ParseProcedureText(
        LPCOLESTR pstrCode,
        LPCOLESTR pstrFormalParams,
        LPCOLESTR pstrProcedureName,
        LPCOLESTR pstrItemName,
        IUnknown *punkContext,
        LPCOLESTR pstrDelimiter,
        DWORDLONG dwSourceContextCookie,
        ULONG ulStartingLineNumber,
        DWORD dwFlags,
        IDispatch **ppdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptParseProcedure64, 0xc64713b6, 0xe029, 0x4cc5, 0x92,0x00, 0x43,0x8b,0x72,0x89,0x0b,0x6a)
#endif
#else
typedef struct IActiveScriptParseProcedure64Vtbl {
    BEGIN_INTERFACE

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

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

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

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

    END_INTERFACE
} IActiveScriptParseProcedure64Vtbl;

interface IActiveScriptParseProcedure64 {
    CONST_VTBL IActiveScriptParseProcedure64Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedure64_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParseProcedure64_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParseProcedure64_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParseProcedure64 methods ***/
#define IActiveScriptParseProcedure64_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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedure64_QueryInterface(IActiveScriptParseProcedure64* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptParseProcedure64_AddRef(IActiveScriptParseProcedure64* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptParseProcedure64_Release(IActiveScriptParseProcedure64* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptParseProcedure64 methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedure64_ParseProcedureText(IActiveScriptParseProcedure64* This,LPCOLESTR pstrCode,LPCOLESTR pstrFormalParams,LPCOLESTR pstrProcedureName,LPCOLESTR pstrItemName,IUnknown *punkContext,LPCOLESTR pstrDelimiter,DWORDLONG dwSourceContextCookie,ULONG ulStartingLineNumber,DWORD dwFlags,IDispatch **ppdisp) {
    return This->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrProcedureName,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp);
}
#endif
#endif

#endif

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

#endif  /* __IActiveScriptParseProcedure64_INTERFACE_DEFINED__ */

#ifdef _WIN64
#define IActiveScriptParseProcedure IActiveScriptParseProcedure64
#define IID_IActiveScriptParseProcedure IID_IActiveScriptParseProcedure64
#else
#define IActiveScriptParseProcedure IActiveScriptParseProcedure32
#define IID_IActiveScriptParseProcedure IID_IActiveScriptParseProcedure32
#endif
/*****************************************************************************
 * IActiveScriptParseProcedure2_32 interface
 */
#ifndef __IActiveScriptParseProcedure2_32_INTERFACE_DEFINED__
#define __IActiveScriptParseProcedure2_32_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParseProcedure2_32, 0x71ee5b20, 0xfb04, 0x11d1, 0xb3,0xa8, 0x00,0xa0,0xc9,0x11,0xe8,0xb2);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("71ee5b20-fb04-11d1-b3a8-00a0c911e8b2")
IActiveScriptParseProcedure2_32 : public IActiveScriptParseProcedure32
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptParseProcedure2_32, 0x71ee5b20, 0xfb04, 0x11d1, 0xb3,0xa8, 0x00,0xa0,0xc9,0x11,0xe8,0xb2)
#endif
#else
typedef struct IActiveScriptParseProcedure2_32Vtbl {
    BEGIN_INTERFACE

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

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

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

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

    END_INTERFACE
} IActiveScriptParseProcedure2_32Vtbl;

interface IActiveScriptParseProcedure2_32 {
    CONST_VTBL IActiveScriptParseProcedure2_32Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedure2_32_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParseProcedure2_32_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParseProcedure2_32_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParseProcedure32 methods ***/
#define IActiveScriptParseProcedure2_32_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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedure2_32_QueryInterface(IActiveScriptParseProcedure2_32* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptParseProcedure2_32_AddRef(IActiveScriptParseProcedure2_32* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptParseProcedure2_32_Release(IActiveScriptParseProcedure2_32* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptParseProcedure32 methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedure2_32_ParseProcedureText(IActiveScriptParseProcedure2_32* This,LPCOLESTR pstrCode,LPCOLESTR pstrFormalParams,LPCOLESTR pstrProcedureName,LPCOLESTR pstrItemName,IUnknown *punkContext,LPCOLESTR pstrDelimiter,DWORD dwSourceContextCookie,ULONG ulStartingLineNumber,DWORD dwFlags,IDispatch **ppdisp) {
    return This->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrProcedureName,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp);
}
#endif
#endif

#endif


#endif  /* __IActiveScriptParseProcedure2_32_INTERFACE_DEFINED__ */

/*****************************************************************************
 * IActiveScriptParseProcedure2_64 interface
 */
#ifndef __IActiveScriptParseProcedure2_64_INTERFACE_DEFINED__
#define __IActiveScriptParseProcedure2_64_INTERFACE_DEFINED__

DEFINE_GUID(IID_IActiveScriptParseProcedure2_64, 0xfe7c4271, 0x210c, 0x448d, 0x9f,0x54, 0x76,0xda,0xb7,0x04,0x7b,0x28);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fe7c4271-210c-448d-9f54-76dab7047b28")
IActiveScriptParseProcedure2_64 : public IActiveScriptParseProcedure64
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptParseProcedure2_64, 0xfe7c4271, 0x210c, 0x448d, 0x9f,0x54, 0x76,0xda,0xb7,0x04,0x7b,0x28)
#endif
#else
typedef struct IActiveScriptParseProcedure2_64Vtbl {
    BEGIN_INTERFACE

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

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

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

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

    END_INTERFACE
} IActiveScriptParseProcedure2_64Vtbl;

interface IActiveScriptParseProcedure2_64 {
    CONST_VTBL IActiveScriptParseProcedure2_64Vtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IActiveScriptParseProcedure2_64_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IActiveScriptParseProcedure2_64_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IActiveScriptParseProcedure2_64_Release(This) (This)->lpVtbl->Release(This)
/*** IActiveScriptParseProcedure64 methods ***/
#define IActiveScriptParseProcedure2_64_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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedure2_64_QueryInterface(IActiveScriptParseProcedure2_64* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptParseProcedure2_64_AddRef(IActiveScriptParseProcedure2_64* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptParseProcedure2_64_Release(IActiveScriptParseProcedure2_64* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptParseProcedure64 methods ***/
static FORCEINLINE HRESULT IActiveScriptParseProcedure2_64_ParseProcedureText(IActiveScriptParseProcedure2_64* This,LPCOLESTR pstrCode,LPCOLESTR pstrFormalParams,LPCOLESTR pstrProcedureName,LPCOLESTR pstrItemName,IUnknown *punkContext,LPCOLESTR pstrDelimiter,DWORDLONG dwSourceContextCookie,ULONG ulStartingLineNumber,DWORD dwFlags,IDispatch **ppdisp) {
    return This->lpVtbl->ParseProcedureText(This,pstrCode,pstrFormalParams,pstrProcedureName,pstrItemName,punkContext,pstrDelimiter,dwSourceContextCookie,ulStartingLineNumber,dwFlags,ppdisp);
}
#endif
#endif

#endif


#endif  /* __IActiveScriptParseProcedure2_64_INTERFACE_DEFINED__ */

#ifdef _WIN64
#define IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_64
#define IID_IActiveScriptParseProcedure2 IID_IActiveScriptParseProcedure2_64
#else
#define IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_32
#define IID_IActiveScriptParseProcedure2 IID_IActiveScriptParseProcedure2_32
#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)
MIDL_INTERFACE("63cdbcb0-c1b1-11d0-9336-00a0c90dcaa9")
IBindEventHandler : public IUnknown
{
    virtual HRESULT STDMETHODCALLTYPE BindHandler(
        LPCOLESTR pstrEvent,
        IDispatch *pdisp) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IBindEventHandler, 0x63cdbcb0, 0xc1b1, 0x11d0, 0x93,0x36, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IBindEventHandler_QueryInterface(IBindEventHandler* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IBindEventHandler_AddRef(IBindEventHandler* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IBindEventHandler_Release(IBindEventHandler* This) {
    return This->lpVtbl->Release(This);
}
/*** IBindEventHandler methods ***/
static FORCEINLINE HRESULT IBindEventHandler_BindHandler(IBindEventHandler* This,LPCOLESTR pstrEvent,IDispatch *pdisp) {
    return This->lpVtbl->BindHandler(This,pstrEvent,pdisp);
}
#endif
#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__ */

/*****************************************************************************
 * 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)
MIDL_INTERFACE("b8da6310-e19b-11d0-933c-00a0c90dcaa9")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptStats, 0xb8da6310, 0xe19b, 0x11d0, 0x93,0x3c, 0x00,0xa0,0xc9,0x0d,0xca,0xa9)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptStats_QueryInterface(IActiveScriptStats* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptStats_AddRef(IActiveScriptStats* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptStats_Release(IActiveScriptStats* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptStats methods ***/
static FORCEINLINE HRESULT IActiveScriptStats_GetStat(IActiveScriptStats* This,DWORD stid,ULONG *pluHi,ULONG *pluLo) {
    return This->lpVtbl->GetStat(This,stid,pluHi,pluLo);
}
static FORCEINLINE HRESULT IActiveScriptStats_GetStatEx(IActiveScriptStats* This,REFGUID guid,ULONG *pluHi,ULONG *pluLo) {
    return This->lpVtbl->GetStatEx(This,guid,pluHi,pluLo);
}
static FORCEINLINE HRESULT IActiveScriptStats_ResetStats(IActiveScriptStats* This) {
    return This->lpVtbl->ResetStats(This);
}
#endif
#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__ */

/*****************************************************************************
 * 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)
MIDL_INTERFACE("4954e0d0-fbc7-11d1-8410-006008c3fbfc")
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;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IActiveScriptProperty, 0x4954e0d0, 0xfbc7, 0x11d1, 0x84,0x10, 0x00,0x60,0x08,0xc3,0xfb,0xfc)
#endif
#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
#ifndef WIDL_C_INLINE_WRAPPERS
/*** 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)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IActiveScriptProperty_QueryInterface(IActiveScriptProperty* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IActiveScriptProperty_AddRef(IActiveScriptProperty* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IActiveScriptProperty_Release(IActiveScriptProperty* This) {
    return This->lpVtbl->Release(This);
}
/*** IActiveScriptProperty methods ***/
static FORCEINLINE HRESULT IActiveScriptProperty_GetProperty(IActiveScriptProperty* This,DWORD dwProperty,VARIANT *pvarIndex,VARIANT *pvarValue) {
    return This->lpVtbl->GetProperty(This,dwProperty,pvarIndex,pvarValue);
}
static FORCEINLINE HRESULT IActiveScriptProperty_SetProperty(IActiveScriptProperty* This,DWORD dwProperty,VARIANT *pvarIndex,VARIANT *pvarValue) {
    return This->lpVtbl->SetProperty(This,dwProperty,pvarIndex,pvarValue);
}
#endif
#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 /* __activscp_h__ */
