/* * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef DO_NO_IMPORTS import "ocidl.idl"; import "oleidl.idl"; import "oaidl.idl"; #endif cpp_quote("#ifndef _NO_SCRIPT_GUIDS") cpp_quote("DEFINE_GUID(CATID_ActiveScript, 0xf0b7a1a1,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);") cpp_quote("DEFINE_GUID(CATID_ActiveScriptParse, 0xf0b7a1a2,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);") cpp_quote("DEFINE_GUID(CATID_ActiveScriptEncode, 0xf0b7a1a3,0x9847,0x11cf,0x8f,0x20,0x00,0x80,0x5f,0x2c,0xd0,0x64);") cpp_quote("#endif") cpp_quote("#define SCRIPTPROP_NAME 0x00000000") cpp_quote("#define SCRIPTPROP_MAJORVERSION 0x00000001") cpp_quote("#define SCRIPTPROP_MINORVERSION 0x00000002") cpp_quote("#define SCRIPTPROP_BUILDNUMBER 0x00000003") cpp_quote("#define SCRIPTPROP_DELAYEDEVENTSINKING 0x00001000") cpp_quote("#define SCRIPTPROP_CATCHEXCEPTION 0x00001001") cpp_quote("#define SCRIPTPROP_CONVERSIONLCID 0x00001002") cpp_quote("#define SCRIPTPROP_HOSTSTACKREQUIRED 0x00001003") cpp_quote("#define SCRIPTPROP_DEBUGGER 0x00001100") cpp_quote("#define SCRIPTPROP_JITDEBUG 0x00001101") cpp_quote("#define SCRIPTPROP_HACK_FIBERSUPPORT 0x70000000") cpp_quote("#define SCRIPTPROP_HACK_TRIDENTEVENTSINK 0x70000001") typedef enum tagSCRIPTSTATE { SCRIPTSTATE_UNINITIALIZED = 0, SCRIPTSTATE_STARTED = 1, SCRIPTSTATE_CONNECTED = 2, SCRIPTSTATE_DISCONNECTED = 3, SCRIPTSTATE_CLOSED = 4, SCRIPTSTATE_INITIALIZED = 5 } SCRIPTSTATE; typedef enum tagSCRIPTTHREADSTATE { SCRIPTTHREADSTATE_NOTINSCRIPT = 0, SCRIPTTHREADSTATE_RUNNING = 1 } SCRIPTTHREADSTATE; typedef DWORD SCRIPTTHREADID; 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 IActiveScriptParse32 : 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 ); } [ object, uuid(c7ef7658-e1ee-480e-97ea-d52cb4d76d17), pointer_default(unique) ] interface IActiveScriptParse64 : 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] DWORDLONG 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] DWORDLONG dwSourceContextCookie, [in] ULONG ulStartingLineNumber, [in] DWORD dwFlags, [out] VARIANT *pvarResult, [out] EXCEPINFO *pexcepinfo ); } cpp_quote("#ifdef _WIN64") cpp_quote("#define IActiveScriptParse IActiveScriptParse64") cpp_quote("#define IID_IActiveScriptParse IID_IActiveScriptParse64") cpp_quote("#else") cpp_quote("#define IActiveScriptParse IActiveScriptParse32") cpp_quote("#define IID_IActiveScriptParse IID_IActiveScriptParse32") cpp_quote("#endif") 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(71ee5b20-fb04-11d1-b3a8-00a0c911e8b2), pointer_default(unique) ] interface IActiveScriptParseProcedure2 : IActiveScriptParseProcedure { } [ 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); } [ object, uuid(4954e0d0-fbc7-11d1-8410-006008c3fbfc), pointer_default(unique) ] interface IActiveScriptProperty : IUnknown { HRESULT GetProperty( [in] DWORD dwProperty, [in] VARIANT *pvarIndex, [out] VARIANT *pvarValue); HRESULT SetProperty( [in] DWORD dwProperty, [in] VARIANT *pvarIndex, [in] VARIANT *pvarValue); }