| /* | |
| * 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); | |
| } |