From e3e6704ddf5da1e50ab171f4410d3ed760b585c9 Mon Sep 17 00:00:00 2001 From: Kevin Koltzau Date: Wed, 21 Jul 2004 03:08:46 +0000 Subject: [PATCH] Add idl files required for scripting. --- dlls/uuid/uuid.c | 2 + include/Makefile.in | 2 + include/activscp.h | 1427 ++++++++++++++++++++++++++++++++++++++++++ include/activscp.idl | 355 +++++++++++ include/dispex.h | 677 ++++++++++++++++++++ include/dispex.idl | 176 ++++++ 6 files changed, 2639 insertions(+) create mode 100644 include/activscp.h create mode 100644 include/activscp.idl create mode 100644 include/dispex.h create mode 100644 include/dispex.idl diff --git a/dlls/uuid/uuid.c b/dlls/uuid/uuid.c index 8da74c2b9c8..3b6d514468d 100644 --- a/dlls/uuid/uuid.c +++ b/dlls/uuid/uuid.c @@ -52,6 +52,8 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0); #include "comcat.h" #include "urlmon.h" #include "mapiguid.h" +#include "activscp.h" +#include "dispex.h" /* FIXME: cguids declares GUIDs but does not define their values */ diff --git a/include/Makefile.in b/include/Makefile.in index 3a76a28699e..498a114e414 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -5,11 +5,13 @@ VPATH = @srcdir@ MODULE = none IDL_SRCS = \ + activscp.idl \ amstream.idl \ amvideo.idl \ austream.idl \ comcat.idl \ ddstream.idl \ + dispex.idl \ docobj.idl \ exdisp.idl \ mlang.idl \ diff --git a/include/activscp.h b/include/activscp.h new file mode 100644 index 00000000000..d5da185b38c --- /dev/null +++ b/include/activscp.h @@ -0,0 +1,1427 @@ +/*** Autogenerated by WIDL 0.1 from activscp.idl - Do not edit ***/ +#include +#include + +#ifndef __WIDL_ACTIVSCP_H +#define __WIDL_ACTIVSCP_H +#ifdef __cplusplus +extern "C" { +#endif +#include +#include +#include +typedef enum tagSCRIPTSTATE { + SCRIPTSTATE_UNINITIALIZED = 0, + SCRIPTSTATE_STARTED = 1, + SCRIPTSTATE_CONNECTED = 2, + SCRIPTSTATE_DISCONNECTED = 3, + SCRIPTSTATE_CLOSED = 4, + SCRIPTSTATE_INITIALIZED = 5 +} SCRIPTSTATE; + +typedef enum tagSCRIPTTHREADSTATE { + SCRIPTTHREADSTATE_NOTINSCRIPT = 0, + SCRIPTTHREADSTATE_RUNNING = 1 +} SCRIPTTHREADSTATE; + +typedef DWORD SCRIPTTHREADID; + +#define SCRIPTTHREADID_CURRENT ((SCRIPTTHREADID)-1) +#define SCRIPTTHREADID_BASE ((SCRIPTTHREADID)-2) +#define SCRIPTTHREADID_ALL ((SCRIPTTHREADID)-3) +#define SCRIPTITEM_ISVISIBLE 0x00000002 +#define SCRIPTITEM_ISSOURCE 0x00000004 +#define SCRIPTITEM_GLOBALMEMBERS 0x00000008 +#define SCRIPTITEM_ISPERSISTENT 0x00000040 +#define SCRIPTITEM_CODEONLY 0x00000200 +#define SCRIPTITEM_NOCODE 0x00000400 +#define SCRIPTITEM_ALL_FLAGS (SCRIPTITEM_ISSOURCE | \ + SCRIPTITEM_ISVISIBLE | \ + SCRIPTITEM_ISPERSISTENT | \ + SCRIPTITEM_GLOBALMEMBERS | \ + SCRIPTITEM_NOCODE | \ + SCRIPTITEM_CODEONLY) +#define SCRIPTTYPELIB_ISCONTROL 0x00000010 +#define SCRIPTTYPELIB_ISPERSISTENT 0x00000040 +#define SCRIPTTYPELIB_ALL_FLAGS (SCRIPTTEXT_ISCONTROL | SCRIPTTYPELIB_ISPERSISTENT) +#define SCRIPTTEXT_DELAYEXECUTION 0x00000001 +#define SCRIPTTEXT_ISVISIBLE 0x00000002 +#define SCRIPTTEXT_ISEXPRESSION 0x00000020 +#define SCRIPTTEXT_ISPERSISTENT 0x00000040 +#define SCRIPTTEXT_HOSTMANAGESSOURCE 0x00000080 +#define SCRIPTTEXT_ALL_FLAGS (SCRIPTTEXT_DELAYEXECUTION | \ + SCRIPTTEXT_ISVISIBLE | \ + SCRIPTTEXT_ISEXPRESSION | \ + SCRIPTTEXT_ISPERSISTENT | \ + SCRIPTTEXT_HOSTMANAGESSOURCE) +#define SCRIPTPROC_HOSTMANAGESSOURCE 0x00000080 +#define SCRIPTPROC_IMPLICIT_THIS 0x00000100 +#define SCRIPTPROC_IMPLICIT_PARENTS 0x00000200 +#define SCRIPTPROC_ALL_FLAGS (SCRIPTPROC_HOSTMANAGESSOURCE | \ + SCRIPTPROC_IMPLICIT_THIS | \ + SCRIPTPROC_IMPLICIT_PARENTS) +#define SCRIPTINFO_IUNKNOWN 0x00000001 +#define SCRIPTINFO_ITYPEINFO 0x00000002 +#define SCRIPTINFO_ALL_FLAGS (SCRIPTINFO_IUNKNOWN | SCRIPTINFO_ITYPEINFO) +#define SCRIPTINTERRUPT_DEBUG 0x00000001 +#define SCRIPTINTERRUPT_RAISEEXCEPTION 0x00000002 +#define SCRIPTINTERRUPT_ALL_FLAGS (SCRIPTINTERRUPT_DEBUG | SCRIPTINTERRUPT_RAISEEXCEPTION) +#define SCRIPTSTAT_STATEMENT_COUNT 1 +#define SCRIPTSTAT_INSTRUCTION_COUNT 2 +#define SCRIPTSTAT_INTSTRUCTION_TIME 3 +#define SCRIPTSTAT_TOTAL_TIME 4 +#ifndef __IActiveScriptError_FWD_DEFINED__ +#define __IActiveScriptError_FWD_DEFINED__ +typedef struct IActiveScriptError IActiveScriptError; +#endif + +/***************************************************************************** + * IActiveScriptError interface + */ +#ifndef __IActiveScriptError_INTERFACE_DEFINED__ +#define __IActiveScriptError_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActiveScriptError, 0xeae1ba61, 0xa4ed, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IActiveScriptError : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetExceptionInfo( + EXCEPINFO* pexcepinfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSourcePosition( + DWORD* pdwSourceContext, + ULONG* pulLineNumber, + LONG* plCharacterPosition) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSourceLineText( + BSTR* pbstrSourceLine) = 0; + +}; +#else +typedef struct IActiveScriptErrorVtbl IActiveScriptErrorVtbl; +struct IActiveScriptError { + const IActiveScriptErrorVtbl* lpVtbl; +}; +struct IActiveScriptErrorVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** 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); + +}; + +/*** IUnknown methods ***/ +#define IActiveScriptError_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IActiveScriptError_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IActiveScriptError_Release(p) (p)->lpVtbl->Release(p) +/*** IActiveScriptError methods ***/ +#define IActiveScriptError_GetExceptionInfo(p,a) (p)->lpVtbl->GetExceptionInfo(p,a) +#define IActiveScriptError_GetSourcePosition(p,a,b,c) (p)->lpVtbl->GetSourcePosition(p,a,b,c) +#define IActiveScriptError_GetSourceLineText(p,a) (p)->lpVtbl->GetSourceLineText(p,a) + +#endif + +#define IActiveScriptError_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IActiveScriptError methods ***/ \ + STDMETHOD_(HRESULT,GetExceptionInfo)(THIS_ EXCEPINFO* pexcepinfo) PURE; \ + STDMETHOD_(HRESULT,GetSourcePosition)(THIS_ DWORD* pdwSourceContext, ULONG* pulLineNumber, LONG* plCharacterPosition) PURE; \ + STDMETHOD_(HRESULT,GetSourceLineText)(THIS_ BSTR* pbstrSourceLine) PURE; + +HRESULT CALLBACK IActiveScriptError_GetExceptionInfo_Proxy( + IActiveScriptError* This, + EXCEPINFO* pexcepinfo); +void __RPC_STUB IActiveScriptError_GetExceptionInfo_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptError_GetSourcePosition_Proxy( + IActiveScriptError* This, + DWORD* pdwSourceContext, + ULONG* pulLineNumber, + LONG* plCharacterPosition); +void __RPC_STUB IActiveScriptError_GetSourcePosition_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptError_GetSourceLineText_Proxy( + IActiveScriptError* This, + BSTR* pbstrSourceLine); +void __RPC_STUB IActiveScriptError_GetSourceLineText_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IActiveScriptError_INTERFACE_DEFINED__ */ + +#ifndef __IActiveScriptSite_FWD_DEFINED__ +#define __IActiveScriptSite_FWD_DEFINED__ +typedef struct IActiveScriptSite IActiveScriptSite; +#endif + +/***************************************************************************** + * IActiveScriptSite interface + */ +#ifndef __IActiveScriptSite_INTERFACE_DEFINED__ +#define __IActiveScriptSite_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActiveScriptSite, 0xdb01a1e3, 0xa42b, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IActiveScriptSite : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetLCID( + LCID* plcid) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetItemInfo( + LPCOLESTR pstrName, + DWORD dwReturnMask, + IUnknown** ppiunkItem, + ITypeInfo** ppti) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocVersionString( + BSTR* pbstrVersion) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnScriptTerminate( + const VARIANT* pvarResult, + const EXCEPINFO* pexcepinfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnStateChange( + SCRIPTSTATE ssScriptState) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnScriptError( + IActiveScriptError* pscripterror) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnEnterScript( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnLeaveScript( + ) = 0; + +}; +#else +typedef struct IActiveScriptSiteVtbl IActiveScriptSiteVtbl; +struct IActiveScriptSite { + const IActiveScriptSiteVtbl* lpVtbl; +}; +struct IActiveScriptSiteVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** 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); + +}; + +/*** IUnknown methods ***/ +#define IActiveScriptSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IActiveScriptSite_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IActiveScriptSite_Release(p) (p)->lpVtbl->Release(p) +/*** IActiveScriptSite methods ***/ +#define IActiveScriptSite_GetLCID(p,a) (p)->lpVtbl->GetLCID(p,a) +#define IActiveScriptSite_GetItemInfo(p,a,b,c,d) (p)->lpVtbl->GetItemInfo(p,a,b,c,d) +#define IActiveScriptSite_GetDocVersionString(p,a) (p)->lpVtbl->GetDocVersionString(p,a) +#define IActiveScriptSite_OnScriptTerminate(p,a,b) (p)->lpVtbl->OnScriptTerminate(p,a,b) +#define IActiveScriptSite_OnStateChange(p,a) (p)->lpVtbl->OnStateChange(p,a) +#define IActiveScriptSite_OnScriptError(p,a) (p)->lpVtbl->OnScriptError(p,a) +#define IActiveScriptSite_OnEnterScript(p) (p)->lpVtbl->OnEnterScript(p) +#define IActiveScriptSite_OnLeaveScript(p) (p)->lpVtbl->OnLeaveScript(p) + +#endif + +#define IActiveScriptSite_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IActiveScriptSite methods ***/ \ + STDMETHOD_(HRESULT,GetLCID)(THIS_ LCID* plcid) PURE; \ + STDMETHOD_(HRESULT,GetItemInfo)(THIS_ LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown** ppiunkItem, ITypeInfo** ppti) PURE; \ + STDMETHOD_(HRESULT,GetDocVersionString)(THIS_ BSTR* pbstrVersion) PURE; \ + STDMETHOD_(HRESULT,OnScriptTerminate)(THIS_ const VARIANT* pvarResult, const EXCEPINFO* pexcepinfo) PURE; \ + STDMETHOD_(HRESULT,OnStateChange)(THIS_ SCRIPTSTATE ssScriptState) PURE; \ + STDMETHOD_(HRESULT,OnScriptError)(THIS_ IActiveScriptError* pscripterror) PURE; \ + STDMETHOD_(HRESULT,OnEnterScript)(THIS) PURE; \ + STDMETHOD_(HRESULT,OnLeaveScript)(THIS) PURE; + +HRESULT CALLBACK IActiveScriptSite_GetLCID_Proxy( + IActiveScriptSite* This, + LCID* plcid); +void __RPC_STUB IActiveScriptSite_GetLCID_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptSite_GetItemInfo_Proxy( + IActiveScriptSite* This, + LPCOLESTR pstrName, + DWORD dwReturnMask, + IUnknown** ppiunkItem, + ITypeInfo** ppti); +void __RPC_STUB IActiveScriptSite_GetItemInfo_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptSite_GetDocVersionString_Proxy( + IActiveScriptSite* This, + BSTR* pbstrVersion); +void __RPC_STUB IActiveScriptSite_GetDocVersionString_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptSite_OnScriptTerminate_Proxy( + IActiveScriptSite* This, + const VARIANT* pvarResult, + const EXCEPINFO* pexcepinfo); +void __RPC_STUB IActiveScriptSite_OnScriptTerminate_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptSite_OnStateChange_Proxy( + IActiveScriptSite* This, + SCRIPTSTATE ssScriptState); +void __RPC_STUB IActiveScriptSite_OnStateChange_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptSite_OnScriptError_Proxy( + IActiveScriptSite* This, + IActiveScriptError* pscripterror); +void __RPC_STUB IActiveScriptSite_OnScriptError_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptSite_OnEnterScript_Proxy( + IActiveScriptSite* This); +void __RPC_STUB IActiveScriptSite_OnEnterScript_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptSite_OnLeaveScript_Proxy( + IActiveScriptSite* This); +void __RPC_STUB IActiveScriptSite_OnLeaveScript_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IActiveScriptSite_INTERFACE_DEFINED__ */ + +typedef IActiveScriptSite *PIActiveScriptSite; +#ifndef __IActiveScriptSiteWindow_FWD_DEFINED__ +#define __IActiveScriptSiteWindow_FWD_DEFINED__ +typedef struct IActiveScriptSiteWindow IActiveScriptSiteWindow; +#endif + +/***************************************************************************** + * IActiveScriptSiteWindow interface + */ +#ifndef __IActiveScriptSiteWindow_INTERFACE_DEFINED__ +#define __IActiveScriptSiteWindow_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActiveScriptSiteWindow, 0xd10f6761, 0x83e9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IActiveScriptSiteWindow : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetWindow( + HWND* phwnd) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnableModeless( + BOOL fEnable) = 0; + +}; +#else +typedef struct IActiveScriptSiteWindowVtbl IActiveScriptSiteWindowVtbl; +struct IActiveScriptSiteWindow { + const IActiveScriptSiteWindowVtbl* lpVtbl; +}; +struct IActiveScriptSiteWindowVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** 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); + +}; + +/*** IUnknown methods ***/ +#define IActiveScriptSiteWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IActiveScriptSiteWindow_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IActiveScriptSiteWindow_Release(p) (p)->lpVtbl->Release(p) +/*** IActiveScriptSiteWindow methods ***/ +#define IActiveScriptSiteWindow_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a) +#define IActiveScriptSiteWindow_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a) + +#endif + +#define IActiveScriptSiteWindow_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IActiveScriptSiteWindow methods ***/ \ + STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \ + STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; + +HRESULT CALLBACK IActiveScriptSiteWindow_GetWindow_Proxy( + IActiveScriptSiteWindow* This, + HWND* phwnd); +void __RPC_STUB IActiveScriptSiteWindow_GetWindow_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptSiteWindow_EnableModeless_Proxy( + IActiveScriptSiteWindow* This, + BOOL fEnable); +void __RPC_STUB IActiveScriptSiteWindow_EnableModeless_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IActiveScriptSiteWindow_INTERFACE_DEFINED__ */ + +#ifndef __IActiveScriptSiteInterruptPoll_FWD_DEFINED__ +#define __IActiveScriptSiteInterruptPoll_FWD_DEFINED__ +typedef struct IActiveScriptSiteInterruptPoll IActiveScriptSiteInterruptPoll; +#endif + +/***************************************************************************** + * IActiveScriptSiteInterruptPoll interface + */ +#ifndef __IActiveScriptSiteInterruptPoll_INTERFACE_DEFINED__ +#define __IActiveScriptSiteInterruptPoll_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActiveScriptSiteInterruptPoll, 0x539698a0, 0xcdca, 0x11cf, 0xa5,0xeb, 0x00,0xaa,0x00,0x47,0xa0,0x63); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IActiveScriptSiteInterruptPoll : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE QueryContinue( + ) = 0; + +}; +#else +typedef struct IActiveScriptSiteInterruptPollVtbl IActiveScriptSiteInterruptPollVtbl; +struct IActiveScriptSiteInterruptPoll { + const IActiveScriptSiteInterruptPollVtbl* lpVtbl; +}; +struct IActiveScriptSiteInterruptPollVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** 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); + +}; + +/*** IUnknown methods ***/ +#define IActiveScriptSiteInterruptPoll_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IActiveScriptSiteInterruptPoll_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IActiveScriptSiteInterruptPoll_Release(p) (p)->lpVtbl->Release(p) +/*** IActiveScriptSiteInterruptPoll methods ***/ +#define IActiveScriptSiteInterruptPoll_QueryContinue(p) (p)->lpVtbl->QueryContinue(p) + +#endif + +#define IActiveScriptSiteInterruptPoll_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IActiveScriptSiteInterruptPoll methods ***/ \ + STDMETHOD_(HRESULT,QueryContinue)(THIS) PURE; + +HRESULT CALLBACK IActiveScriptSiteInterruptPoll_QueryContinue_Proxy( + IActiveScriptSiteInterruptPoll* This); +void __RPC_STUB IActiveScriptSiteInterruptPoll_QueryContinue_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IActiveScriptSiteInterruptPoll_INTERFACE_DEFINED__ */ + +#ifndef __IActiveScript_FWD_DEFINED__ +#define __IActiveScript_FWD_DEFINED__ +typedef struct IActiveScript IActiveScript; +#endif + +/***************************************************************************** + * IActiveScript interface + */ +#ifndef __IActiveScript_INTERFACE_DEFINED__ +#define __IActiveScript_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActiveScript, 0xbb1a2ae1, 0xa4f9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IActiveScript : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetScriptSite( + IActiveScriptSite* pass) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScriptSite( + REFIID riid, + void** ppvObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetScriptState( + SCRIPTSTATE ss) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScriptState( + SCRIPTSTATE* pssState) = 0; + + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddNamedItem( + LPCOLESTR pstrName, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddTypeLib( + REFGUID rguidTypeLib, + DWORD dwMajor, + DWORD dwMinor, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScriptDispatch( + LPCOLESTR pstrItemName, + IDispatch** ppdisp) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentScriptThreadID( + SCRIPTTHREADID* pstidThread) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScriptThreadID( + DWORD dwWin32ThreadId, + SCRIPTTHREADID* pstidThread) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScriptThreadState( + SCRIPTTHREADID stidThread, + SCRIPTTHREADSTATE* pstsState) = 0; + + virtual HRESULT STDMETHODCALLTYPE InterruptScriptThread( + SCRIPTTHREADID stidThread, + const EXCEPINFO* pexcepinfo, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IActiveScript** ppscript) = 0; + +}; +#else +typedef struct IActiveScriptVtbl IActiveScriptVtbl; +struct IActiveScript { + const IActiveScriptVtbl* lpVtbl; +}; +struct IActiveScriptVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** 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); + +}; + +/*** IUnknown methods ***/ +#define IActiveScript_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IActiveScript_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IActiveScript_Release(p) (p)->lpVtbl->Release(p) +/*** IActiveScript methods ***/ +#define IActiveScript_SetScriptSite(p,a) (p)->lpVtbl->SetScriptSite(p,a) +#define IActiveScript_GetScriptSite(p,a,b) (p)->lpVtbl->GetScriptSite(p,a,b) +#define IActiveScript_SetScriptState(p,a) (p)->lpVtbl->SetScriptState(p,a) +#define IActiveScript_GetScriptState(p,a) (p)->lpVtbl->GetScriptState(p,a) +#define IActiveScript_Close(p) (p)->lpVtbl->Close(p) +#define IActiveScript_AddNamedItem(p,a,b) (p)->lpVtbl->AddNamedItem(p,a,b) +#define IActiveScript_AddTypeLib(p,a,b,c,d) (p)->lpVtbl->AddTypeLib(p,a,b,c,d) +#define IActiveScript_GetScriptDispatch(p,a,b) (p)->lpVtbl->GetScriptDispatch(p,a,b) +#define IActiveScript_GetCurrentScriptThreadID(p,a) (p)->lpVtbl->GetCurrentScriptThreadID(p,a) +#define IActiveScript_GetScriptThreadID(p,a,b) (p)->lpVtbl->GetScriptThreadID(p,a,b) +#define IActiveScript_GetScriptThreadState(p,a,b) (p)->lpVtbl->GetScriptThreadState(p,a,b) +#define IActiveScript_InterruptScriptThread(p,a,b,c) (p)->lpVtbl->InterruptScriptThread(p,a,b,c) +#define IActiveScript_Clone(p,a) (p)->lpVtbl->Clone(p,a) + +#endif + +#define IActiveScript_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IActiveScript methods ***/ \ + STDMETHOD_(HRESULT,SetScriptSite)(THIS_ IActiveScriptSite* pass) PURE; \ + STDMETHOD_(HRESULT,GetScriptSite)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(HRESULT,SetScriptState)(THIS_ SCRIPTSTATE ss) PURE; \ + STDMETHOD_(HRESULT,GetScriptState)(THIS_ SCRIPTSTATE* pssState) PURE; \ + STDMETHOD_(HRESULT,Close)(THIS) PURE; \ + STDMETHOD_(HRESULT,AddNamedItem)(THIS_ LPCOLESTR pstrName, DWORD dwFlags) PURE; \ + STDMETHOD_(HRESULT,AddTypeLib)(THIS_ REFGUID rguidTypeLib, DWORD dwMajor, DWORD dwMinor, DWORD dwFlags) PURE; \ + STDMETHOD_(HRESULT,GetScriptDispatch)(THIS_ LPCOLESTR pstrItemName, IDispatch** ppdisp) PURE; \ + STDMETHOD_(HRESULT,GetCurrentScriptThreadID)(THIS_ SCRIPTTHREADID* pstidThread) PURE; \ + STDMETHOD_(HRESULT,GetScriptThreadID)(THIS_ DWORD dwWin32ThreadId, SCRIPTTHREADID* pstidThread) PURE; \ + STDMETHOD_(HRESULT,GetScriptThreadState)(THIS_ SCRIPTTHREADID stidThread, SCRIPTTHREADSTATE* pstsState) PURE; \ + STDMETHOD_(HRESULT,InterruptScriptThread)(THIS_ SCRIPTTHREADID stidThread, const EXCEPINFO* pexcepinfo, DWORD dwFlags) PURE; \ + STDMETHOD_(HRESULT,Clone)(THIS_ IActiveScript** ppscript) PURE; + +HRESULT CALLBACK IActiveScript_SetScriptSite_Proxy( + IActiveScript* This, + IActiveScriptSite* pass); +void __RPC_STUB IActiveScript_SetScriptSite_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_GetScriptSite_Proxy( + IActiveScript* This, + REFIID riid, + void** ppvObject); +void __RPC_STUB IActiveScript_GetScriptSite_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_SetScriptState_Proxy( + IActiveScript* This, + SCRIPTSTATE ss); +void __RPC_STUB IActiveScript_SetScriptState_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_GetScriptState_Proxy( + IActiveScript* This, + SCRIPTSTATE* pssState); +void __RPC_STUB IActiveScript_GetScriptState_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_Close_Proxy( + IActiveScript* This); +void __RPC_STUB IActiveScript_Close_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_AddNamedItem_Proxy( + IActiveScript* This, + LPCOLESTR pstrName, + DWORD dwFlags); +void __RPC_STUB IActiveScript_AddNamedItem_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_AddTypeLib_Proxy( + IActiveScript* This, + REFGUID rguidTypeLib, + DWORD dwMajor, + DWORD dwMinor, + DWORD dwFlags); +void __RPC_STUB IActiveScript_AddTypeLib_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_GetScriptDispatch_Proxy( + IActiveScript* This, + LPCOLESTR pstrItemName, + IDispatch** ppdisp); +void __RPC_STUB IActiveScript_GetScriptDispatch_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_GetCurrentScriptThreadID_Proxy( + IActiveScript* This, + SCRIPTTHREADID* pstidThread); +void __RPC_STUB IActiveScript_GetCurrentScriptThreadID_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_GetScriptThreadID_Proxy( + IActiveScript* This, + DWORD dwWin32ThreadId, + SCRIPTTHREADID* pstidThread); +void __RPC_STUB IActiveScript_GetScriptThreadID_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_GetScriptThreadState_Proxy( + IActiveScript* This, + SCRIPTTHREADID stidThread, + SCRIPTTHREADSTATE* pstsState); +void __RPC_STUB IActiveScript_GetScriptThreadState_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_InterruptScriptThread_Proxy( + IActiveScript* This, + SCRIPTTHREADID stidThread, + const EXCEPINFO* pexcepinfo, + DWORD dwFlags); +void __RPC_STUB IActiveScript_InterruptScriptThread_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScript_Clone_Proxy( + IActiveScript* This, + IActiveScript** ppscript); +void __RPC_STUB IActiveScript_Clone_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IActiveScript_INTERFACE_DEFINED__ */ + +typedef IActiveScript *PIActiveScript; +#ifndef __IActiveScriptParse_FWD_DEFINED__ +#define __IActiveScriptParse_FWD_DEFINED__ +typedef struct IActiveScriptParse IActiveScriptParse; +#endif + +/***************************************************************************** + * IActiveScriptParse interface + */ +#ifndef __IActiveScriptParse_INTERFACE_DEFINED__ +#define __IActiveScriptParse_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActiveScriptParse, 0xbb1a2ae2, 0xa4f9, 0x11cf, 0x8f,0x20, 0x00,0x80,0x5f,0x2c,0xd0,0x64); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IActiveScriptParse : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE InitNew( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddScriptlet( + LPCOLESTR pstrDefaultName, + LPCOLESTR pstrCode, + LPCOLESTR pstrItemName, + LPCOLESTR pstrSubItemName, + LPCOLESTR pstrEventName, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + BSTR* pbstrName, + EXCEPINFO* pexcepinfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE ParseScriptText( + LPCOLESTR pstrCode, + LPCOLESTR pstrItemName, + IUnknown* punkContext, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + VARIANT* pvarResult, + EXCEPINFO* pexcepinfo) = 0; + +}; +#else +typedef struct IActiveScriptParseVtbl IActiveScriptParseVtbl; +struct IActiveScriptParse { + const IActiveScriptParseVtbl* lpVtbl; +}; +struct IActiveScriptParseVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IActiveScriptParse* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IActiveScriptParse* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IActiveScriptParse* This); + + /*** IActiveScriptParse methods ***/ + HRESULT (STDMETHODCALLTYPE *InitNew)( + IActiveScriptParse* This); + + HRESULT (STDMETHODCALLTYPE *AddScriptlet)( + IActiveScriptParse* This, + LPCOLESTR pstrDefaultName, + LPCOLESTR pstrCode, + LPCOLESTR pstrItemName, + LPCOLESTR pstrSubItemName, + LPCOLESTR pstrEventName, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + BSTR* pbstrName, + EXCEPINFO* pexcepinfo); + + HRESULT (STDMETHODCALLTYPE *ParseScriptText)( + IActiveScriptParse* This, + LPCOLESTR pstrCode, + LPCOLESTR pstrItemName, + IUnknown* punkContext, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + VARIANT* pvarResult, + EXCEPINFO* pexcepinfo); + +}; + +/*** IUnknown methods ***/ +#define IActiveScriptParse_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IActiveScriptParse_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IActiveScriptParse_Release(p) (p)->lpVtbl->Release(p) +/*** IActiveScriptParse methods ***/ +#define IActiveScriptParse_InitNew(p) (p)->lpVtbl->InitNew(p) +#define IActiveScriptParse_AddScriptlet(p,a,b,c,d,e,f,g,h,i,j,k) (p)->lpVtbl->AddScriptlet(p,a,b,c,d,e,f,g,h,i,j,k) +#define IActiveScriptParse_ParseScriptText(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->ParseScriptText(p,a,b,c,d,e,f,g,h,i) + +#endif + +#define IActiveScriptParse_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IActiveScriptParse methods ***/ \ + STDMETHOD_(HRESULT,InitNew)(THIS) PURE; \ + STDMETHOD_(HRESULT,AddScriptlet)(THIS_ LPCOLESTR pstrDefaultName, LPCOLESTR pstrCode, LPCOLESTR pstrItemName, LPCOLESTR pstrSubItemName, LPCOLESTR pstrEventName, LPCOLESTR pstrDelimiter, DWORD dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, BSTR* pbstrName, EXCEPINFO* pexcepinfo) PURE; \ + STDMETHOD_(HRESULT,ParseScriptText)(THIS_ LPCOLESTR pstrCode, LPCOLESTR pstrItemName, IUnknown* punkContext, LPCOLESTR pstrDelimiter, DWORD dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, VARIANT* pvarResult, EXCEPINFO* pexcepinfo) PURE; + +HRESULT CALLBACK IActiveScriptParse_InitNew_Proxy( + IActiveScriptParse* This); +void __RPC_STUB IActiveScriptParse_InitNew_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptParse_AddScriptlet_Proxy( + IActiveScriptParse* This, + LPCOLESTR pstrDefaultName, + LPCOLESTR pstrCode, + LPCOLESTR pstrItemName, + LPCOLESTR pstrSubItemName, + LPCOLESTR pstrEventName, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + BSTR* pbstrName, + EXCEPINFO* pexcepinfo); +void __RPC_STUB IActiveScriptParse_AddScriptlet_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptParse_ParseScriptText_Proxy( + IActiveScriptParse* This, + LPCOLESTR pstrCode, + LPCOLESTR pstrItemName, + IUnknown* punkContext, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + VARIANT* pvarResult, + EXCEPINFO* pexcepinfo); +void __RPC_STUB IActiveScriptParse_ParseScriptText_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IActiveScriptParse_INTERFACE_DEFINED__ */ + +typedef IActiveScriptParse *PIActiveScriptParse; +#ifndef __IActiveScriptParseProcedureOld_FWD_DEFINED__ +#define __IActiveScriptParseProcedureOld_FWD_DEFINED__ +typedef struct IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld; +#endif + +/***************************************************************************** + * IActiveScriptParseProcedureOld interface + */ +#ifndef __IActiveScriptParseProcedureOld_INTERFACE_DEFINED__ +#define __IActiveScriptParseProcedureOld_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActiveScriptParseProcedureOld, 0x1cff0050, 0x6fdd, 0x11d0, 0x93,0x28, 0x00,0xa0,0xc9,0x0d,0xca,0xa9); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IActiveScriptParseProcedureOld : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ParseProcedureText( + LPCOLESTR pstrCode, + LPCOLESTR pstrFormalParams, + LPCOLESTR pstrItemName, + IUnknown* punkContext, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + IDispatch** ppdisp) = 0; + +}; +#else +typedef struct IActiveScriptParseProcedureOldVtbl IActiveScriptParseProcedureOldVtbl; +struct IActiveScriptParseProcedureOld { + const IActiveScriptParseProcedureOldVtbl* lpVtbl; +}; +struct IActiveScriptParseProcedureOldVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IActiveScriptParseProcedureOld* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IActiveScriptParseProcedureOld* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IActiveScriptParseProcedureOld* This); + + /*** IActiveScriptParseProcedureOld methods ***/ + HRESULT (STDMETHODCALLTYPE *ParseProcedureText)( + IActiveScriptParseProcedureOld* This, + LPCOLESTR pstrCode, + LPCOLESTR pstrFormalParams, + LPCOLESTR pstrItemName, + IUnknown* punkContext, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + IDispatch** ppdisp); + +}; + +/*** IUnknown methods ***/ +#define IActiveScriptParseProcedureOld_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IActiveScriptParseProcedureOld_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IActiveScriptParseProcedureOld_Release(p) (p)->lpVtbl->Release(p) +/*** IActiveScriptParseProcedureOld methods ***/ +#define IActiveScriptParseProcedureOld_ParseProcedureText(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->ParseProcedureText(p,a,b,c,d,e,f,g,h,i) + +#endif + +#define IActiveScriptParseProcedureOld_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IActiveScriptParseProcedureOld methods ***/ \ + STDMETHOD_(HRESULT,ParseProcedureText)(THIS_ LPCOLESTR pstrCode, LPCOLESTR pstrFormalParams, LPCOLESTR pstrItemName, IUnknown* punkContext, LPCOLESTR pstrDelimiter, DWORD dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, IDispatch** ppdisp) PURE; + +HRESULT CALLBACK IActiveScriptParseProcedureOld_ParseProcedureText_Proxy( + IActiveScriptParseProcedureOld* This, + LPCOLESTR pstrCode, + LPCOLESTR pstrFormalParams, + LPCOLESTR pstrItemName, + IUnknown* punkContext, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + IDispatch** ppdisp); +void __RPC_STUB IActiveScriptParseProcedureOld_ParseProcedureText_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IActiveScriptParseProcedureOld_INTERFACE_DEFINED__ */ + +#ifndef __IActiveScriptParseProcedure_FWD_DEFINED__ +#define __IActiveScriptParseProcedure_FWD_DEFINED__ +typedef struct IActiveScriptParseProcedure IActiveScriptParseProcedure; +#endif + +/***************************************************************************** + * IActiveScriptParseProcedure interface + */ +#ifndef __IActiveScriptParseProcedure_INTERFACE_DEFINED__ +#define __IActiveScriptParseProcedure_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActiveScriptParseProcedure, 0xaa5b6a80, 0xb834, 0x11d0, 0x93,0x2f, 0x00,0xa0,0xc9,0x0d,0xca,0xa9); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IActiveScriptParseProcedure : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ParseProcedureText( + LPCOLESTR pstrCode, + LPCOLESTR pstrFormalParams, + LPCOLESTR pstrProcedureName, + LPCOLESTR pstrItemName, + IUnknown* punkContext, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + IDispatch** ppdisp) = 0; + +}; +#else +typedef struct IActiveScriptParseProcedureVtbl IActiveScriptParseProcedureVtbl; +struct IActiveScriptParseProcedure { + const IActiveScriptParseProcedureVtbl* lpVtbl; +}; +struct IActiveScriptParseProcedureVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IActiveScriptParseProcedure* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IActiveScriptParseProcedure* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IActiveScriptParseProcedure* This); + + /*** IActiveScriptParseProcedure methods ***/ + HRESULT (STDMETHODCALLTYPE *ParseProcedureText)( + IActiveScriptParseProcedure* This, + LPCOLESTR pstrCode, + LPCOLESTR pstrFormalParams, + LPCOLESTR pstrProcedureName, + LPCOLESTR pstrItemName, + IUnknown* punkContext, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + IDispatch** ppdisp); + +}; + +/*** IUnknown methods ***/ +#define IActiveScriptParseProcedure_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IActiveScriptParseProcedure_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IActiveScriptParseProcedure_Release(p) (p)->lpVtbl->Release(p) +/*** IActiveScriptParseProcedure methods ***/ +#define IActiveScriptParseProcedure_ParseProcedureText(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->ParseProcedureText(p,a,b,c,d,e,f,g,h,i,j) + +#endif + +#define IActiveScriptParseProcedure_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IActiveScriptParseProcedure methods ***/ \ + STDMETHOD_(HRESULT,ParseProcedureText)(THIS_ LPCOLESTR pstrCode, LPCOLESTR pstrFormalParams, LPCOLESTR pstrProcedureName, LPCOLESTR pstrItemName, IUnknown* punkContext, LPCOLESTR pstrDelimiter, DWORD dwSourceContextCookie, ULONG ulStartingLineNumber, DWORD dwFlags, IDispatch** ppdisp) PURE; + +HRESULT CALLBACK IActiveScriptParseProcedure_ParseProcedureText_Proxy( + IActiveScriptParseProcedure* This, + LPCOLESTR pstrCode, + LPCOLESTR pstrFormalParams, + LPCOLESTR pstrProcedureName, + LPCOLESTR pstrItemName, + IUnknown* punkContext, + LPCOLESTR pstrDelimiter, + DWORD dwSourceContextCookie, + ULONG ulStartingLineNumber, + DWORD dwFlags, + IDispatch** ppdisp); +void __RPC_STUB IActiveScriptParseProcedure_ParseProcedureText_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IActiveScriptParseProcedure_INTERFACE_DEFINED__ */ + +#ifndef __IBindEventHandler_FWD_DEFINED__ +#define __IBindEventHandler_FWD_DEFINED__ +typedef struct IBindEventHandler IBindEventHandler; +#endif + +/***************************************************************************** + * IBindEventHandler interface + */ +#ifndef __IBindEventHandler_INTERFACE_DEFINED__ +#define __IBindEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IBindEventHandler, 0x63cdbcb0, 0xc1b1, 0x11d0, 0x93,0x36, 0x00,0xa0,0xc9,0x0d,0xca,0xa9); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IBindEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE BindHandler( + LPCOLESTR pstrEvent, + IDispatch* pdisp) = 0; + +}; +#else +typedef struct IBindEventHandlerVtbl IBindEventHandlerVtbl; +struct IBindEventHandler { + const IBindEventHandlerVtbl* lpVtbl; +}; +struct IBindEventHandlerVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** 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); + +}; + +/*** IUnknown methods ***/ +#define IBindEventHandler_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IBindEventHandler_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IBindEventHandler_Release(p) (p)->lpVtbl->Release(p) +/*** IBindEventHandler methods ***/ +#define IBindEventHandler_BindHandler(p,a,b) (p)->lpVtbl->BindHandler(p,a,b) + +#endif + +#define IBindEventHandler_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IBindEventHandler methods ***/ \ + STDMETHOD_(HRESULT,BindHandler)(THIS_ LPCOLESTR pstrEvent, IDispatch* pdisp) PURE; + +HRESULT CALLBACK IBindEventHandler_BindHandler_Proxy( + IBindEventHandler* This, + LPCOLESTR pstrEvent, + IDispatch* pdisp); +void __RPC_STUB IBindEventHandler_BindHandler_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IBindEventHandler_INTERFACE_DEFINED__ */ + +#ifndef __IActiveScriptStats_FWD_DEFINED__ +#define __IActiveScriptStats_FWD_DEFINED__ +typedef struct IActiveScriptStats IActiveScriptStats; +#endif + +/***************************************************************************** + * IActiveScriptStats interface + */ +#ifndef __IActiveScriptStats_INTERFACE_DEFINED__ +#define __IActiveScriptStats_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActiveScriptStats, 0xb8da6310, 0xe19b, 0x11d0, 0x93,0x3c, 0x00,0xa0,0xc9,0x0d,0xca,0xa9); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IActiveScriptStats : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetStat( + DWORD stid, + ULONG* pluHi, + ULONG* pluLo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatEx( + REFGUID guid, + ULONG* pluHi, + ULONG* pluLo) = 0; + + virtual HRESULT STDMETHODCALLTYPE ResetStats( + ) = 0; + +}; +#else +typedef struct IActiveScriptStatsVtbl IActiveScriptStatsVtbl; +struct IActiveScriptStats { + const IActiveScriptStatsVtbl* lpVtbl; +}; +struct IActiveScriptStatsVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** 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); + +}; + +/*** IUnknown methods ***/ +#define IActiveScriptStats_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IActiveScriptStats_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IActiveScriptStats_Release(p) (p)->lpVtbl->Release(p) +/*** IActiveScriptStats methods ***/ +#define IActiveScriptStats_GetStat(p,a,b,c) (p)->lpVtbl->GetStat(p,a,b,c) +#define IActiveScriptStats_GetStatEx(p,a,b,c) (p)->lpVtbl->GetStatEx(p,a,b,c) +#define IActiveScriptStats_ResetStats(p) (p)->lpVtbl->ResetStats(p) + +#endif + +#define IActiveScriptStats_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IActiveScriptStats methods ***/ \ + STDMETHOD_(HRESULT,GetStat)(THIS_ DWORD stid, ULONG* pluHi, ULONG* pluLo) PURE; \ + STDMETHOD_(HRESULT,GetStatEx)(THIS_ REFGUID guid, ULONG* pluHi, ULONG* pluLo) PURE; \ + STDMETHOD_(HRESULT,ResetStats)(THIS) PURE; + +HRESULT CALLBACK IActiveScriptStats_GetStat_Proxy( + IActiveScriptStats* This, + DWORD stid, + ULONG* pluHi, + ULONG* pluLo); +void __RPC_STUB IActiveScriptStats_GetStat_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptStats_GetStatEx_Proxy( + IActiveScriptStats* This, + REFGUID guid, + ULONG* pluHi, + ULONG* pluLo); +void __RPC_STUB IActiveScriptStats_GetStatEx_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IActiveScriptStats_ResetStats_Proxy( + IActiveScriptStats* This); +void __RPC_STUB IActiveScriptStats_ResetStats_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IActiveScriptStats_INTERFACE_DEFINED__ */ + +#ifdef __cplusplus +} +#endif +#endif /* __WIDL_ACTIVSCP_H */ diff --git a/include/activscp.idl b/include/activscp.idl new file mode 100644 index 00000000000..79ea91e0b24 --- /dev/null +++ b/include/activscp.idl @@ -0,0 +1,355 @@ +/* + * Copyright 2004 Kevin Koltzau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +import "ocidl.idl"; +import "oleidl.idl"; +import "oaidl.idl"; + +typedef enum tagSCRIPTSTATE { + SCRIPTSTATE_UNINITIALIZED = 0, + SCRIPTSTATE_STARTED = 1, + SCRIPTSTATE_CONNECTED = 2, + SCRIPTSTATE_DISCONNECTED = 3, + SCRIPTSTATE_CLOSED = 4, + SCRIPTSTATE_INITIALIZED = 5 +} SCRIPTSTATE; + +typedef enum tagSCRIPTTHREADSTATE { + SCRIPTTHREADSTATE_NOTINSCRIPT = 0, + SCRIPTTHREADSTATE_RUNNING = 1 +} SCRIPTTHREADSTATE; + +typedef DWORD SCRIPTTHREADID; +cpp_quote("#define SCRIPTTHREADID_CURRENT ((SCRIPTTHREADID)-1)") +cpp_quote("#define SCRIPTTHREADID_BASE ((SCRIPTTHREADID)-2)") +cpp_quote("#define SCRIPTTHREADID_ALL ((SCRIPTTHREADID)-3)") + +cpp_quote("#define SCRIPTITEM_ISVISIBLE 0x00000002") +cpp_quote("#define SCRIPTITEM_ISSOURCE 0x00000004") +cpp_quote("#define SCRIPTITEM_GLOBALMEMBERS 0x00000008") +cpp_quote("#define SCRIPTITEM_ISPERSISTENT 0x00000040") +cpp_quote("#define SCRIPTITEM_CODEONLY 0x00000200") +cpp_quote("#define SCRIPTITEM_NOCODE 0x00000400") +cpp_quote("#define SCRIPTITEM_ALL_FLAGS (SCRIPTITEM_ISSOURCE | \\") +cpp_quote(" SCRIPTITEM_ISVISIBLE | \\") +cpp_quote(" SCRIPTITEM_ISPERSISTENT | \\") +cpp_quote(" SCRIPTITEM_GLOBALMEMBERS | \\") +cpp_quote(" SCRIPTITEM_NOCODE | \\") +cpp_quote(" SCRIPTITEM_CODEONLY)") +cpp_quote("#define SCRIPTTYPELIB_ISCONTROL 0x00000010") +cpp_quote("#define SCRIPTTYPELIB_ISPERSISTENT 0x00000040") +cpp_quote("#define SCRIPTTYPELIB_ALL_FLAGS (SCRIPTTEXT_ISCONTROL | SCRIPTTYPELIB_ISPERSISTENT)") +cpp_quote("#define SCRIPTTEXT_DELAYEXECUTION 0x00000001") +cpp_quote("#define SCRIPTTEXT_ISVISIBLE 0x00000002") +cpp_quote("#define SCRIPTTEXT_ISEXPRESSION 0x00000020") +cpp_quote("#define SCRIPTTEXT_ISPERSISTENT 0x00000040") +cpp_quote("#define SCRIPTTEXT_HOSTMANAGESSOURCE 0x00000080") +cpp_quote("#define SCRIPTTEXT_ALL_FLAGS (SCRIPTTEXT_DELAYEXECUTION | \\") +cpp_quote(" SCRIPTTEXT_ISVISIBLE | \\") +cpp_quote(" SCRIPTTEXT_ISEXPRESSION | \\") +cpp_quote(" SCRIPTTEXT_ISPERSISTENT | \\") +cpp_quote(" SCRIPTTEXT_HOSTMANAGESSOURCE)") +cpp_quote("#define SCRIPTPROC_HOSTMANAGESSOURCE 0x00000080") +cpp_quote("#define SCRIPTPROC_IMPLICIT_THIS 0x00000100") +cpp_quote("#define SCRIPTPROC_IMPLICIT_PARENTS 0x00000200") +cpp_quote("#define SCRIPTPROC_ALL_FLAGS (SCRIPTPROC_HOSTMANAGESSOURCE | \\") +cpp_quote(" SCRIPTPROC_IMPLICIT_THIS | \\") +cpp_quote(" SCRIPTPROC_IMPLICIT_PARENTS)") +cpp_quote("#define SCRIPTINFO_IUNKNOWN 0x00000001") +cpp_quote("#define SCRIPTINFO_ITYPEINFO 0x00000002") +cpp_quote("#define SCRIPTINFO_ALL_FLAGS (SCRIPTINFO_IUNKNOWN | SCRIPTINFO_ITYPEINFO)") +cpp_quote("#define SCRIPTINTERRUPT_DEBUG 0x00000001") +cpp_quote("#define SCRIPTINTERRUPT_RAISEEXCEPTION 0x00000002") +cpp_quote("#define SCRIPTINTERRUPT_ALL_FLAGS (SCRIPTINTERRUPT_DEBUG | SCRIPTINTERRUPT_RAISEEXCEPTION)") +cpp_quote("#define SCRIPTSTAT_STATEMENT_COUNT 1") +cpp_quote("#define SCRIPTSTAT_INSTRUCTION_COUNT 2") +cpp_quote("#define SCRIPTSTAT_INTSTRUCTION_TIME 3") +cpp_quote("#define SCRIPTSTAT_TOTAL_TIME 4") + +[ +object, +uuid(EAE1BA61-A4ED-11cf-8F20-00805F2CD064), +pointer_default(unique) +] +interface IActiveScriptError : IUnknown +{ + HRESULT GetExceptionInfo( + [out] EXCEPINFO *pexcepinfo + ); + + HRESULT GetSourcePosition( + [out] DWORD *pdwSourceContext, + [out] ULONG *pulLineNumber, + [out] LONG *plCharacterPosition + ); + + HRESULT GetSourceLineText( + [out] BSTR *pbstrSourceLine + ); +} + +[ +object, +uuid(DB01A1E3-A42B-11cf-8F20-00805F2CD064), +pointer_default(unique) +] +interface IActiveScriptSite : IUnknown +{ + HRESULT GetLCID( + [out] LCID *plcid); + + HRESULT GetItemInfo( + [in] LPCOLESTR pstrName, + [in] DWORD dwReturnMask, + [out] IUnknown **ppiunkItem, + [out] ITypeInfo **ppti + ); + + HRESULT GetDocVersionString( + [out] BSTR *pbstrVersion + ); + + HRESULT OnScriptTerminate( + [in] const VARIANT *pvarResult, + [in] const EXCEPINFO *pexcepinfo + ); + + HRESULT OnStateChange( + [in] SCRIPTSTATE ssScriptState + ); + + HRESULT OnScriptError( + [in] IActiveScriptError *pscripterror + ); + + HRESULT OnEnterScript(void); + + HRESULT OnLeaveScript(void); +} + +cpp_quote("typedef IActiveScriptSite *PIActiveScriptSite;") + +[ +object, +uuid(D10F6761-83E9-11cf-8F20-00805F2CD064), +pointer_default(unique) +] +interface IActiveScriptSiteWindow : IUnknown +{ + HRESULT GetWindow( + [out] HWND *phwnd + ); + + HRESULT EnableModeless( + [in] BOOL fEnable + ); +} + +[ +object, +uuid(539698A0-CDCA-11CF-A5EB-00AA0047A063), +pointer_default(unique) +] +interface IActiveScriptSiteInterruptPoll : IUnknown +{ + HRESULT QueryContinue(); +} + +[ +object, +uuid(BB1A2AE1-A4F9-11cf-8F20-00805F2CD064), +pointer_default(unique) +] +interface IActiveScript : IUnknown +{ + HRESULT SetScriptSite( + [in] IActiveScriptSite *pass + ); + + HRESULT GetScriptSite( + [in] REFIID riid, + [out, iid_is(riid)] void **ppvObject + ); + + HRESULT SetScriptState( + [in] SCRIPTSTATE ss + ); + + HRESULT GetScriptState( + [out] SCRIPTSTATE *pssState + ); + + HRESULT Close(void); + + HRESULT AddNamedItem( + [in] LPCOLESTR pstrName, + [in] DWORD dwFlags + ); + + HRESULT AddTypeLib( + [in] REFGUID rguidTypeLib, + [in] DWORD dwMajor, + [in] DWORD dwMinor, + [in] DWORD dwFlags + ); + + HRESULT GetScriptDispatch( + [in] LPCOLESTR pstrItemName, + [out] IDispatch **ppdisp + ); + + HRESULT GetCurrentScriptThreadID( + [out] SCRIPTTHREADID *pstidThread + ); + + HRESULT GetScriptThreadID( + [in] DWORD dwWin32ThreadId, + [out] SCRIPTTHREADID *pstidThread + ); + + HRESULT GetScriptThreadState( + [in] SCRIPTTHREADID stidThread, + [out] SCRIPTTHREADSTATE *pstsState + ); + + HRESULT InterruptScriptThread( + [in] SCRIPTTHREADID stidThread, + [in] const EXCEPINFO *pexcepinfo, + [in] DWORD dwFlags + ); + + HRESULT Clone( + [out] IActiveScript **ppscript + ); +} + +cpp_quote("typedef IActiveScript *PIActiveScript;") + +[ +object, +uuid(BB1A2AE2-A4F9-11cf-8F20-00805F2CD064), +pointer_default(unique) +] +interface IActiveScriptParse : IUnknown +{ + HRESULT InitNew(void); + + HRESULT AddScriptlet( + [in] LPCOLESTR pstrDefaultName, + [in] LPCOLESTR pstrCode, + [in] LPCOLESTR pstrItemName, + [in] LPCOLESTR pstrSubItemName, + [in] LPCOLESTR pstrEventName, + [in] LPCOLESTR pstrDelimiter, + [in] DWORD dwSourceContextCookie, + [in] ULONG ulStartingLineNumber, + [in] DWORD dwFlags, + [out] BSTR *pbstrName, + [out] EXCEPINFO *pexcepinfo + ); + + HRESULT ParseScriptText( + [in] LPCOLESTR pstrCode, + [in] LPCOLESTR pstrItemName, + [in] IUnknown *punkContext, + [in] LPCOLESTR pstrDelimiter, + [in] DWORD dwSourceContextCookie, + [in] ULONG ulStartingLineNumber, + [in] DWORD dwFlags, + [out] VARIANT *pvarResult, + [out] EXCEPINFO *pexcepinfo + ); +} + +cpp_quote("typedef IActiveScriptParse *PIActiveScriptParse;") + +[ +object, +uuid(1CFF0050-6FDD-11d0-9328-00A0C90DCAA9), +pointer_default(unique) +] +interface IActiveScriptParseProcedureOld : IUnknown +{ + HRESULT ParseProcedureText( + [in] LPCOLESTR pstrCode, + [in] LPCOLESTR pstrFormalParams, + [in] LPCOLESTR pstrItemName, + [in] IUnknown *punkContext, + [in] LPCOLESTR pstrDelimiter, + [in] DWORD dwSourceContextCookie, + [in] ULONG ulStartingLineNumber, + [in] DWORD dwFlags, + [out] IDispatch **ppdisp + ); +} + +[ +object, +uuid(AA5B6A80-B834-11d0-932F-00A0C90DCAA9), +pointer_default(unique) +] +interface IActiveScriptParseProcedure : IUnknown +{ + HRESULT ParseProcedureText( + [in] LPCOLESTR pstrCode, + [in] LPCOLESTR pstrFormalParams, + [in] LPCOLESTR pstrProcedureName, + [in] LPCOLESTR pstrItemName, + [in] IUnknown *punkContext, + [in] LPCOLESTR pstrDelimiter, + [in] DWORD dwSourceContextCookie, + [in] ULONG ulStartingLineNumber, + [in] DWORD dwFlags, + [out] IDispatch **ppdisp + ); +} + +[ +object, +uuid(63CDBCB0-C1B1-11d0-9336-00A0C90DCAA9), +pointer_default(unique) +] +interface IBindEventHandler : IUnknown +{ + HRESULT BindHandler( + [in] LPCOLESTR pstrEvent, + [in] IDispatch *pdisp + ); +} + +[ +object, +uuid(B8DA6310-E19B-11d0-933C-00A0C90DCAA9), +pointer_default(unique) +] +interface IActiveScriptStats : IUnknown +{ + HRESULT GetStat( + [in] DWORD stid, + [out] ULONG *pluHi, + [out] ULONG *pluLo + ); + + HRESULT GetStatEx( + [in] REFGUID guid, + [out] ULONG *pluHi, + [out] ULONG *pluLo + ); + + HRESULT ResetStats(void); +} diff --git a/include/dispex.h b/include/dispex.h new file mode 100644 index 00000000000..3e80ae48edf --- /dev/null +++ b/include/dispex.h @@ -0,0 +1,677 @@ +/*** Autogenerated by WIDL 0.1 from dispex.idl - Do not edit ***/ +#include +#include + +#ifndef __WIDL_DISPEX_H +#define __WIDL_DISPEX_H +#ifdef __cplusplus +extern "C" { +#endif +#include +#include +#include +#include +#define fdexNameCaseSensitive 0x00000001L +#define fdexNameEnsure 0x00000002L +#define fdexNameImplicit 0x00000004L +#define fdexNameCaseInsensitive 0x00000008L +#define fdexNameInternal 0x00000010L +#define fdexNameNoDynamicProperties 0x00000020L +#define fdexPropCanGet 0x00000001L +#define fdexPropCannotGet 0x00000002L +#define fdexPropCanPut 0x00000004L +#define fdexPropCannotPut 0x00000008L +#define fdexPropCanPutRef 0x00000010L +#define fdexPropCannotPutRef 0x00000020L +#define fdexPropNoSideEffects 0x00000040L +#define fdexPropDynamicType 0x00000080L +#define fdexPropCanCall 0x00000100L +#define fdexPropCannotCall 0x00000200L +#define fdexPropCanConstruct 0x00000400L +#define fdexPropCannotConstruct 0x00000800L +#define fdexPropCanSourceEvents 0x00001000L +#define fdexPropCannotSourceEvents 0x00002000L +#define fdexEnumDefault 0x00000001L +#define fdexEnumAll 0x00000002L +#define grfdexPropCanAll \ + (fdexPropCanGet | fdexPropCanPut | fdexPropCanPutRef | \ + fdexPropCanCall | fdexPropCanConstruct | fdexPropCanSourceEvents) +#define grfdexPropCannotAll \ + (fdexPropCannotGet | fdexPropCannotPut | fdexPropCannotPutRef | \ + fdexPropCannotCall | fdexPropCannotConstruct | fdexPropCannotSourceEvents) +#define grfdexPropExtraAll \ + (fdexPropNoSideEffects | fdexPropDynamicType) +#define grfdexPropAll \ + (grfdexPropCanAll | grfdexPropCannotAll | grfdexPropExtraAll) +#define DISPATCH_CONSTRUCT 0x4000 +#define DISPID_THIS (-613) +#define DISPID_STARTENUM DISPID_UNKNOWN +#ifndef __IDispatchEx_FWD_DEFINED__ +#define __IDispatchEx_FWD_DEFINED__ +typedef struct IDispatchEx IDispatchEx; +#endif + +/***************************************************************************** + * IDispatchEx interface + */ +#ifndef __IDispatchEx_INTERFACE_DEFINED__ +#define __IDispatchEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDispatchEx, 0xa6ef9860, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IDispatchEx : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE GetDispID( + BSTR bstrName, + DWORD grfdex, + DISPID* pid) = 0; + + virtual HRESULT STDMETHODCALLTYPE InvokeEx( + DISPID id, + LCID lcid, + WORD wFlags, + DISPPARAMS* pdp, + VARIANT* pvarRes, + EXCEPINFO* pei, + IServiceProvider* pspCaller) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteMemberByName( + BSTR bstrName, + DWORD grfdex) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteMemberByDispID( + DISPID id) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMemberProperties( + DISPID id, + DWORD grfdexFetch, + DWORD* pgrfdex) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMemberName( + DISPID id, + BSTR* pbstrName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNextDispID( + DWORD grfdex, + DISPID id, + DISPID* pid) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNameSpaceParent( + IUnknown** ppunk) = 0; + +}; +#else +typedef struct IDispatchExVtbl IDispatchExVtbl; +struct IDispatchEx { + const IDispatchExVtbl* lpVtbl; +}; +struct IDispatchExVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDispatchEx* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDispatchEx* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDispatchEx* This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDispatchEx* This, + UINT* pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDispatchEx* This, + UINT iTInfo, + LCID lcid, + ITypeInfo** ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDispatchEx* This, + REFIID riid, + LPOLESTR* rgszNames, + UINT cNames, + LCID lcid, + DISPID* rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDispatchEx* This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS* pDispParams, + VARIANT* pVarResult, + EXCEPINFO* pExcepInfo, + UINT* puArgErr); + + /*** IDispatchEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDispID)( + IDispatchEx* This, + BSTR bstrName, + DWORD grfdex, + DISPID* pid); + + HRESULT (STDMETHODCALLTYPE *InvokeEx)( + IDispatchEx* This, + DISPID id, + LCID lcid, + WORD wFlags, + DISPPARAMS* pdp, + VARIANT* pvarRes, + EXCEPINFO* pei, + IServiceProvider* pspCaller); + + HRESULT (STDMETHODCALLTYPE *DeleteMemberByName)( + IDispatchEx* This, + BSTR bstrName, + DWORD grfdex); + + HRESULT (STDMETHODCALLTYPE *DeleteMemberByDispID)( + IDispatchEx* This, + DISPID id); + + HRESULT (STDMETHODCALLTYPE *GetMemberProperties)( + IDispatchEx* This, + DISPID id, + DWORD grfdexFetch, + DWORD* pgrfdex); + + HRESULT (STDMETHODCALLTYPE *GetMemberName)( + IDispatchEx* This, + DISPID id, + BSTR* pbstrName); + + HRESULT (STDMETHODCALLTYPE *GetNextDispID)( + IDispatchEx* This, + DWORD grfdex, + DISPID id, + DISPID* pid); + + HRESULT (STDMETHODCALLTYPE *GetNameSpaceParent)( + IDispatchEx* This, + IUnknown** ppunk); + +}; + +/*** IUnknown methods ***/ +#define IDispatchEx_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IDispatchEx_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IDispatchEx_Release(p) (p)->lpVtbl->Release(p) +/*** IDispatch methods ***/ +#define IDispatchEx_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a) +#define IDispatchEx_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c) +#define IDispatchEx_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e) +#define IDispatchEx_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h) +/*** IDispatchEx methods ***/ +#define IDispatchEx_GetDispID(p,a,b,c) (p)->lpVtbl->GetDispID(p,a,b,c) +#define IDispatchEx_InvokeEx(p,a,b,c,d,e,f,g) (p)->lpVtbl->InvokeEx(p,a,b,c,d,e,f,g) +#define IDispatchEx_DeleteMemberByName(p,a,b) (p)->lpVtbl->DeleteMemberByName(p,a,b) +#define IDispatchEx_DeleteMemberByDispID(p,a) (p)->lpVtbl->DeleteMemberByDispID(p,a) +#define IDispatchEx_GetMemberProperties(p,a,b,c) (p)->lpVtbl->GetMemberProperties(p,a,b,c) +#define IDispatchEx_GetMemberName(p,a,b) (p)->lpVtbl->GetMemberName(p,a,b) +#define IDispatchEx_GetNextDispID(p,a,b,c) (p)->lpVtbl->GetNextDispID(p,a,b,c) +#define IDispatchEx_GetNameSpaceParent(p,a) (p)->lpVtbl->GetNameSpaceParent(p,a) + +#endif + +#define IDispatchEx_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IDispatch methods ***/ \ + STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ UINT* pctinfo) PURE; \ + STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) PURE; \ + STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) PURE; \ + STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \ + /*** IDispatchEx methods ***/ \ + STDMETHOD_(HRESULT,GetDispID)(THIS_ BSTR bstrName, DWORD grfdex, DISPID* pid) PURE; \ + STDMETHOD_(HRESULT,InvokeEx)(THIS_ DISPID id, LCID lcid, WORD wFlags, DISPPARAMS* pdp, VARIANT* pvarRes, EXCEPINFO* pei, IServiceProvider* pspCaller) PURE; \ + STDMETHOD_(HRESULT,DeleteMemberByName)(THIS_ BSTR bstrName, DWORD grfdex) PURE; \ + STDMETHOD_(HRESULT,DeleteMemberByDispID)(THIS_ DISPID id) PURE; \ + STDMETHOD_(HRESULT,GetMemberProperties)(THIS_ DISPID id, DWORD grfdexFetch, DWORD* pgrfdex) PURE; \ + STDMETHOD_(HRESULT,GetMemberName)(THIS_ DISPID id, BSTR* pbstrName) PURE; \ + STDMETHOD_(HRESULT,GetNextDispID)(THIS_ DWORD grfdex, DISPID id, DISPID* pid) PURE; \ + STDMETHOD_(HRESULT,GetNameSpaceParent)(THIS_ IUnknown** ppunk) PURE; + +HRESULT CALLBACK IDispatchEx_GetDispID_Proxy( + IDispatchEx* This, + BSTR bstrName, + DWORD grfdex, + DISPID* pid); +void __RPC_STUB IDispatchEx_GetDispID_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispatchEx_RemoteInvokeEx_Proxy( + IDispatchEx* This, + DISPID id, + LCID lcid, + DWORD dwFlags, + DISPPARAMS* pdp, + VARIANT* pvarRes, + EXCEPINFO* pei, + IServiceProvider* pspCaller, + UINT cvarRefArg, + UINT* rgiRefArg, + VARIANT* rgvarRefArg); +void __RPC_STUB IDispatchEx_RemoteInvokeEx_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispatchEx_InvokeEx_Proxy( + IDispatchEx* This, + DISPID id, + LCID lcid, + WORD wFlags, + DISPPARAMS* pdp, + VARIANT* pvarRes, + EXCEPINFO* pei, + IServiceProvider* pspCaller); +HRESULT __RPC_STUB IDispatchEx_InvokeEx_Stub( + IDispatchEx* This, + DISPID id, + LCID lcid, + DWORD dwFlags, + DISPPARAMS* pdp, + VARIANT* pvarRes, + EXCEPINFO* pei, + IServiceProvider* pspCaller, + UINT cvarRefArg, + UINT* rgiRefArg, + VARIANT* rgvarRefArg); +HRESULT CALLBACK IDispatchEx_DeleteMemberByName_Proxy( + IDispatchEx* This, + BSTR bstrName, + DWORD grfdex); +void __RPC_STUB IDispatchEx_DeleteMemberByName_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispatchEx_DeleteMemberByDispID_Proxy( + IDispatchEx* This, + DISPID id); +void __RPC_STUB IDispatchEx_DeleteMemberByDispID_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispatchEx_GetMemberProperties_Proxy( + IDispatchEx* This, + DISPID id, + DWORD grfdexFetch, + DWORD* pgrfdex); +void __RPC_STUB IDispatchEx_GetMemberProperties_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispatchEx_GetMemberName_Proxy( + IDispatchEx* This, + DISPID id, + BSTR* pbstrName); +void __RPC_STUB IDispatchEx_GetMemberName_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispatchEx_GetNextDispID_Proxy( + IDispatchEx* This, + DWORD grfdex, + DISPID id, + DISPID* pid); +void __RPC_STUB IDispatchEx_GetNextDispID_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispatchEx_GetNameSpaceParent_Proxy( + IDispatchEx* This, + IUnknown** ppunk); +void __RPC_STUB IDispatchEx_GetNameSpaceParent_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IDispatchEx_INTERFACE_DEFINED__ */ + +#ifndef __IDispError_FWD_DEFINED__ +#define __IDispError_FWD_DEFINED__ +typedef struct IDispError IDispError; +#endif + +/***************************************************************************** + * IDispError interface + */ +#ifndef __IDispError_INTERFACE_DEFINED__ +#define __IDispError_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDispError, 0xa6ef9861, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IDispError : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE QueryErrorInfo( + GUID guidErrorType, + IDispError** ppde) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNext( + IDispError** ppde) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHresult( + HRESULT* phr) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSource( + BSTR* pbstrSource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHelpInfo( + BSTR* pbstrFileName, + DWORD* pdwContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDescription( + BSTR* pbstrDescription) = 0; + +}; +#else +typedef struct IDispErrorVtbl IDispErrorVtbl; +struct IDispError { + const IDispErrorVtbl* lpVtbl; +}; +struct IDispErrorVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDispError* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDispError* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDispError* This); + + /*** IDispError methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryErrorInfo)( + IDispError* This, + GUID guidErrorType, + IDispError** ppde); + + HRESULT (STDMETHODCALLTYPE *GetNext)( + IDispError* This, + IDispError** ppde); + + HRESULT (STDMETHODCALLTYPE *GetHresult)( + IDispError* This, + HRESULT* phr); + + HRESULT (STDMETHODCALLTYPE *GetSource)( + IDispError* This, + BSTR* pbstrSource); + + HRESULT (STDMETHODCALLTYPE *GetHelpInfo)( + IDispError* This, + BSTR* pbstrFileName, + DWORD* pdwContext); + + HRESULT (STDMETHODCALLTYPE *GetDescription)( + IDispError* This, + BSTR* pbstrDescription); + +}; + +/*** IUnknown methods ***/ +#define IDispError_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IDispError_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IDispError_Release(p) (p)->lpVtbl->Release(p) +/*** IDispError methods ***/ +#define IDispError_QueryErrorInfo(p,a,b) (p)->lpVtbl->QueryErrorInfo(p,a,b) +#define IDispError_GetNext(p,a) (p)->lpVtbl->GetNext(p,a) +#define IDispError_GetHresult(p,a) (p)->lpVtbl->GetHresult(p,a) +#define IDispError_GetSource(p,a) (p)->lpVtbl->GetSource(p,a) +#define IDispError_GetHelpInfo(p,a,b) (p)->lpVtbl->GetHelpInfo(p,a,b) +#define IDispError_GetDescription(p,a) (p)->lpVtbl->GetDescription(p,a) + +#endif + +#define IDispError_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IDispError methods ***/ \ + STDMETHOD_(HRESULT,QueryErrorInfo)(THIS_ GUID guidErrorType, IDispError** ppde) PURE; \ + STDMETHOD_(HRESULT,GetNext)(THIS_ IDispError** ppde) PURE; \ + STDMETHOD_(HRESULT,GetHresult)(THIS_ HRESULT* phr) PURE; \ + STDMETHOD_(HRESULT,GetSource)(THIS_ BSTR* pbstrSource) PURE; \ + STDMETHOD_(HRESULT,GetHelpInfo)(THIS_ BSTR* pbstrFileName, DWORD* pdwContext) PURE; \ + STDMETHOD_(HRESULT,GetDescription)(THIS_ BSTR* pbstrDescription) PURE; + +HRESULT CALLBACK IDispError_QueryErrorInfo_Proxy( + IDispError* This, + GUID guidErrorType, + IDispError** ppde); +void __RPC_STUB IDispError_QueryErrorInfo_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispError_GetNext_Proxy( + IDispError* This, + IDispError** ppde); +void __RPC_STUB IDispError_GetNext_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispError_GetHresult_Proxy( + IDispError* This, + HRESULT* phr); +void __RPC_STUB IDispError_GetHresult_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispError_GetSource_Proxy( + IDispError* This, + BSTR* pbstrSource); +void __RPC_STUB IDispError_GetSource_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispError_GetHelpInfo_Proxy( + IDispError* This, + BSTR* pbstrFileName, + DWORD* pdwContext); +void __RPC_STUB IDispError_GetHelpInfo_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IDispError_GetDescription_Proxy( + IDispError* This, + BSTR* pbstrDescription); +void __RPC_STUB IDispError_GetDescription_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IDispError_INTERFACE_DEFINED__ */ + +#ifndef __IVariantChangeType_FWD_DEFINED__ +#define __IVariantChangeType_FWD_DEFINED__ +typedef struct IVariantChangeType IVariantChangeType; +#endif + +/***************************************************************************** + * IVariantChangeType interface + */ +#ifndef __IVariantChangeType_INTERFACE_DEFINED__ +#define __IVariantChangeType_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVariantChangeType, 0xa6ef9862, 0xc720, 0x11d0, 0x93,0x37, 0x00,0xa0,0xc9,0x0d,0xca,0xa9); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IVariantChangeType : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ChangeType( + VARIANT* pvarDst, + VARIANT* pvarSrc, + LCID lcid, + VARTYPE vtNew) = 0; + +}; +#else +typedef struct IVariantChangeTypeVtbl IVariantChangeTypeVtbl; +struct IVariantChangeType { + const IVariantChangeTypeVtbl* lpVtbl; +}; +struct IVariantChangeTypeVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVariantChangeType* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVariantChangeType* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVariantChangeType* This); + + /*** IVariantChangeType methods ***/ + HRESULT (STDMETHODCALLTYPE *ChangeType)( + IVariantChangeType* This, + VARIANT* pvarDst, + VARIANT* pvarSrc, + LCID lcid, + VARTYPE vtNew); + +}; + +/*** IUnknown methods ***/ +#define IVariantChangeType_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IVariantChangeType_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IVariantChangeType_Release(p) (p)->lpVtbl->Release(p) +/*** IVariantChangeType methods ***/ +#define IVariantChangeType_ChangeType(p,a,b,c,d) (p)->lpVtbl->ChangeType(p,a,b,c,d) + +#endif + +#define IVariantChangeType_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IVariantChangeType methods ***/ \ + STDMETHOD_(HRESULT,ChangeType)(THIS_ VARIANT* pvarDst, VARIANT* pvarSrc, LCID lcid, VARTYPE vtNew) PURE; + +HRESULT CALLBACK IVariantChangeType_ChangeType_Proxy( + IVariantChangeType* This, + VARIANT* pvarDst, + VARIANT* pvarSrc, + LCID lcid, + VARTYPE vtNew); +void __RPC_STUB IVariantChangeType_ChangeType_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IVariantChangeType_INTERFACE_DEFINED__ */ + +#ifndef __IObjectIdentity_FWD_DEFINED__ +#define __IObjectIdentity_FWD_DEFINED__ +typedef struct IObjectIdentity IObjectIdentity; +#endif + +/***************************************************************************** + * IObjectIdentity interface + */ +#ifndef __IObjectIdentity_INTERFACE_DEFINED__ +#define __IObjectIdentity_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IObjectIdentity, 0xca04b7e6, 0x0d21, 0x11d1, 0x8c,0xc5, 0x00,0xc0,0x4f,0xc2,0xb0,0x85); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IObjectIdentity : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE IsEqualObject( + IUnknown* punk) = 0; + +}; +#else +typedef struct IObjectIdentityVtbl IObjectIdentityVtbl; +struct IObjectIdentity { + const IObjectIdentityVtbl* lpVtbl; +}; +struct IObjectIdentityVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IObjectIdentity* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IObjectIdentity* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IObjectIdentity* This); + + /*** IObjectIdentity methods ***/ + HRESULT (STDMETHODCALLTYPE *IsEqualObject)( + IObjectIdentity* This, + IUnknown* punk); + +}; + +/*** IUnknown methods ***/ +#define IObjectIdentity_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IObjectIdentity_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IObjectIdentity_Release(p) (p)->lpVtbl->Release(p) +/*** IObjectIdentity methods ***/ +#define IObjectIdentity_IsEqualObject(p,a) (p)->lpVtbl->IsEqualObject(p,a) + +#endif + +#define IObjectIdentity_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IObjectIdentity methods ***/ \ + STDMETHOD_(HRESULT,IsEqualObject)(THIS_ IUnknown* punk) PURE; + +HRESULT CALLBACK IObjectIdentity_IsEqualObject_Proxy( + IObjectIdentity* This, + IUnknown* punk); +void __RPC_STUB IObjectIdentity_IsEqualObject_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IObjectIdentity_INTERFACE_DEFINED__ */ + +#ifdef __cplusplus +} +#endif +#endif /* __WIDL_DISPEX_H */ diff --git a/include/dispex.idl b/include/dispex.idl new file mode 100644 index 00000000000..451ebb1454a --- /dev/null +++ b/include/dispex.idl @@ -0,0 +1,176 @@ +/* + * Copyright 2004 Kevin Koltzau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +import "ocidl.idl"; +import "oleidl.idl"; +import "oaidl.idl"; +import "servprov.idl"; + +cpp_quote("#define fdexNameCaseSensitive 0x00000001L") +cpp_quote("#define fdexNameEnsure 0x00000002L") +cpp_quote("#define fdexNameImplicit 0x00000004L") +cpp_quote("#define fdexNameCaseInsensitive 0x00000008L") +cpp_quote("#define fdexNameInternal 0x00000010L") +cpp_quote("#define fdexNameNoDynamicProperties 0x00000020L") + +cpp_quote("#define fdexPropCanGet 0x00000001L") +cpp_quote("#define fdexPropCannotGet 0x00000002L") +cpp_quote("#define fdexPropCanPut 0x00000004L") +cpp_quote("#define fdexPropCannotPut 0x00000008L") +cpp_quote("#define fdexPropCanPutRef 0x00000010L") +cpp_quote("#define fdexPropCannotPutRef 0x00000020L") +cpp_quote("#define fdexPropNoSideEffects 0x00000040L") +cpp_quote("#define fdexPropDynamicType 0x00000080L") +cpp_quote("#define fdexPropCanCall 0x00000100L") +cpp_quote("#define fdexPropCannotCall 0x00000200L") +cpp_quote("#define fdexPropCanConstruct 0x00000400L") +cpp_quote("#define fdexPropCannotConstruct 0x00000800L") +cpp_quote("#define fdexPropCanSourceEvents 0x00001000L") +cpp_quote("#define fdexPropCannotSourceEvents 0x00002000L") + +cpp_quote("#define fdexEnumDefault 0x00000001L") +cpp_quote("#define fdexEnumAll 0x00000002L") + +cpp_quote("#define grfdexPropCanAll \\") +cpp_quote(" (fdexPropCanGet | fdexPropCanPut | fdexPropCanPutRef | \\") +cpp_quote(" fdexPropCanCall | fdexPropCanConstruct | fdexPropCanSourceEvents)") +cpp_quote("#define grfdexPropCannotAll \\") +cpp_quote(" (fdexPropCannotGet | fdexPropCannotPut | fdexPropCannotPutRef | \\") +cpp_quote(" fdexPropCannotCall | fdexPropCannotConstruct | fdexPropCannotSourceEvents)") +cpp_quote("#define grfdexPropExtraAll \\") +cpp_quote(" (fdexPropNoSideEffects | fdexPropDynamicType)") +cpp_quote("#define grfdexPropAll \\") +cpp_quote(" (grfdexPropCanAll | grfdexPropCannotAll | grfdexPropExtraAll)") + +cpp_quote("#define DISPATCH_CONSTRUCT 0x4000") + +cpp_quote("#define DISPID_THIS (-613)") +cpp_quote("#define DISPID_STARTENUM DISPID_UNKNOWN") + +[ +object, +uuid(A6EF9860-C720-11d0-9337-00A0C90DCAA9), +pointer_default(unique) +] +interface IDispatchEx : IDispatch +{ + HRESULT GetDispID( + [in] BSTR bstrName, + [in] DWORD grfdex, + [out] DISPID *pid); + + [local] + HRESULT InvokeEx( + [in] DISPID id, + [in] LCID lcid, + [in] WORD wFlags, + [in] DISPPARAMS *pdp, + [out] VARIANT *pvarRes, + [out] EXCEPINFO *pei, + [in, unique] IServiceProvider *pspCaller); + + [call_as(InvokeEx)] + HRESULT RemoteInvokeEx( + [in] DISPID id, + [in] LCID lcid, + [in] DWORD dwFlags, + [in] DISPPARAMS *pdp, + [out] VARIANT *pvarRes, + [out] EXCEPINFO *pei, + [in, unique] IServiceProvider *pspCaller, + [in] UINT cvarRefArg, + [in, size_is(cvarRefArg)] UINT *rgiRefArg, + [in, out, size_is(cvarRefArg)] VARIANT *rgvarRefArg); + + HRESULT DeleteMemberByName( + [in] BSTR bstrName, + [in] DWORD grfdex); + + HRESULT DeleteMemberByDispID( + [in] DISPID id); + + HRESULT GetMemberProperties( + [in] DISPID id, + [in] DWORD grfdexFetch, + [out] DWORD *pgrfdex); + + HRESULT GetMemberName( + [in] DISPID id, + [out] BSTR *pbstrName); + + HRESULT GetNextDispID( + [in] DWORD grfdex, + [in] DISPID id, + [out] DISPID *pid); + + HRESULT GetNameSpaceParent([out] IUnknown **ppunk); +}; + +[ +object, +uuid(A6EF9861-C720-11d0-9337-00A0C90DCAA9), +pointer_default(unique) +] +interface IDispError : IUnknown +{ + HRESULT QueryErrorInfo( + [in] GUID guidErrorType, + [out] IDispError **ppde); + + HRESULT GetNext( + [out] IDispError **ppde); + + HRESULT GetHresult( + [out] HRESULT *phr); + + HRESULT GetSource( + [out] BSTR *pbstrSource); + + HRESULT GetHelpInfo( + [out] BSTR *pbstrFileName, + [out] DWORD *pdwContext); + + HRESULT GetDescription( + [out] BSTR *pbstrDescription); +}; + +[ +object, +uuid(A6EF9862-C720-11d0-9337-00A0C90DCAA9), +pointer_default(unique) +] +interface IVariantChangeType : IUnknown +{ + HRESULT ChangeType( + [in, out, unique] VARIANT *pvarDst, + [in, unique] VARIANT *pvarSrc, + [in] LCID lcid, + [in] VARTYPE vtNew); +}; + + +[ +object, +uuid(CA04B7E6-0D21-11d1-8CC5-00C04FC2B085), +pointer_default(unique) +] +interface IObjectIdentity : IUnknown +{ + HRESULT IsEqualObject( + [in] IUnknown *punk); +};