//+--------------------------------------------------------------------------- // // (C) Copyright 1996 Microsoft Corporation. All Rights Reserved. // // Contents: Declarations for ActiveX Scripting host applications and script engines // //---------------------------------------------------------------------------- cpp_quote( "//=--------------------------------------------------------------------------=") cpp_quote( "// ActivScp.h") cpp_quote( "//=--------------------------------------------------------------------------=") cpp_quote( "// (C) Copyright 1996 Microsoft Corporation. All Rights Reserved.") cpp_quote( "//") cpp_quote( "// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF") cpp_quote( "// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO") cpp_quote( "// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A") cpp_quote( "// PARTICULAR PURPOSE.") cpp_quote( "//=--------------------------------------------------------------------------=") cpp_quote( "//") cpp_quote("#pragma comment(lib,\"uuid.lib\")") cpp_quote( "//") cpp_quote( "// Declarations for ActiveX Scripting host applications and script engines.") cpp_quote( "//") cpp_quote( "") cpp_quote( "#ifndef __ActivScp_h") cpp_quote( "#define __ActivScp_h") cpp_quote( "") #ifndef DO_NO_IMPORTS import "ocidl.idl"; import "oleidl.idl"; import "oaidl.idl"; #endif cpp_quote( "/* GUIDs") cpp_quote( " ********/") cpp_quote( "") cpp_quote( "#ifndef _NO_SCRIPT_GUIDS") cpp_quote( "// {F0B7A1A1-9847-11cf-8F20-00805F2CD064}") cpp_quote( "DEFINE_GUID(CATID_ActiveScript, 0xf0b7a1a1, 0x9847, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);") cpp_quote( "") cpp_quote( "// {F0B7A1A2-9847-11cf-8F20-00805F2CD064}") cpp_quote( "DEFINE_GUID(CATID_ActiveScriptParse, 0xf0b7a1a2, 0x9847, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);") cpp_quote( "") cpp_quote( "// {BB1A2AE1-A4F9-11cf-8F20-00805F2CD064}") cpp_quote( "DEFINE_GUID(IID_IActiveScript, 0xbb1a2ae1, 0xa4f9, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);") cpp_quote( "") cpp_quote( "// {BB1A2AE2-A4F9-11cf-8F20-00805F2CD064}") cpp_quote( "DEFINE_GUID(IID_IActiveScriptParse, 0xbb1a2ae2, 0xa4f9, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);") cpp_quote( "") cpp_quote( "// {1CFF0050-6FDD-11d0-9328-00A0C90DCAA9}") cpp_quote( "DEFINE_GUID(IID_IActiveScriptParseProcedureOld, 0x1cff0050, 0x6fdd, 0x11d0, 0x93, 0x28, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);") cpp_quote( "") cpp_quote( "// {AA5B6A80-B834-11d0-932F-00A0C90DCAA9}") cpp_quote( "DEFINE_GUID(IID_IActiveScriptParseProcedure, 0xaa5b6a80, 0xb834, 0x11d0, 0x93, 0x2f, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);") cpp_quote( "") cpp_quote( "// {DB01A1E3-A42B-11cf-8F20-00805F2CD064}") cpp_quote( "DEFINE_GUID(IID_IActiveScriptSite, 0xdb01a1e3, 0xa42b, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);") cpp_quote( "") cpp_quote( "// {D10F6761-83E9-11cf-8F20-00805F2CD064}") cpp_quote( "DEFINE_GUID(IID_IActiveScriptSiteWindow, 0xd10f6761, 0x83e9, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);") cpp_quote( "") cpp_quote( "// {539698A0-CDCA-11CF-A5EB-00AA0047A063}") cpp_quote( "DEFINE_GUID(IID_IActiveScriptSiteInterruptPoll, 0x539698a0, 0xcdca, 0x11cf, 0xa5, 0xeb, 0x00, 0xaa, 0x00, 0x47, 0xa0, 0x63);") cpp_quote( "") cpp_quote( "// {EAE1BA61-A4ED-11cf-8F20-00805F2CD064}") cpp_quote( "DEFINE_GUID(IID_IActiveScriptError, 0xeae1ba61, 0xa4ed, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);") cpp_quote( "") cpp_quote( "// {63CDBCB0-C1B1-11d0-9336-00A0C90DCAA9}") cpp_quote( "DEFINE_GUID(IID_IBindEventHandler, 0x63cdbcb0, 0xc1b1, 0x11d0, 0x93, 0x36, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);") cpp_quote( "") cpp_quote( "// {B8DA6310-E19B-11d0-933C-00A0C90DCAA9}") cpp_quote( "DEFINE_GUID(IID_IActiveScriptStats, 0xb8da6310, 0xe19b, 0x11d0, 0x93, 0x3c, 0x0, 0xa0, 0xc9, 0xd, 0xca, 0xa9);") cpp_quote( "") cpp_quote( "#endif // _NO_SCRIPT_GUIDS") cpp_quote( "") cpp_quote( "// Constants used by ActiveX Scripting:") cpp_quote( "//") cpp_quote( "") cpp_quote( "/* IActiveScript::AddNamedItem() input flags */") cpp_quote( "") 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( "") 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( "") cpp_quote( "/* IActiveScript::AddTypeLib() input flags */") cpp_quote( "") cpp_quote( "#define SCRIPTTYPELIB_ISCONTROL 0x00000010") cpp_quote( "#define SCRIPTTYPELIB_ISPERSISTENT 0x00000040") cpp_quote( "#define SCRIPTTYPELIB_ALL_FLAGS (SCRIPTTEXT_ISCONTROL | SCRIPTTYPELIB_ISPERSISTENT)") cpp_quote( "") cpp_quote( "/* IActiveScriptParse::AddScriptlet() and IActiveScriptParse::ParseScriptText() input flags */") cpp_quote( "") 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( "") cpp_quote( "/* IActiveScriptParseProcedure::ParseProcedureText() input flags */") cpp_quote( "") 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( "") cpp_quote( "/* IActiveScriptSite::GetItemInfo() input flags */") cpp_quote( "") cpp_quote( "#define SCRIPTINFO_IUNKNOWN 0x00000001") cpp_quote( "#define SCRIPTINFO_ITYPEINFO 0x00000002") cpp_quote( "#define SCRIPTINFO_ALL_FLAGS (SCRIPTINFO_IUNKNOWN | \\") cpp_quote( " SCRIPTINFO_ITYPEINFO)") cpp_quote( "") cpp_quote( "/* IActiveScript::Interrupt() Flags */") cpp_quote( "") cpp_quote( "#define SCRIPTINTERRUPT_DEBUG 0x00000001") cpp_quote( "#define SCRIPTINTERRUPT_RAISEEXCEPTION 0x00000002") cpp_quote( "#define SCRIPTINTERRUPT_ALL_FLAGS (SCRIPTINTERRUPT_DEBUG | \\") cpp_quote( " SCRIPTINTERRUPT_RAISEEXCEPTION)") cpp_quote( "") cpp_quote( "/* IActiveScriptStats::GetStat() values */") cpp_quote( "") 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") cpp_quote( "") cpp_quote( "/* script state values */") cpp_quote( "") typedef enum tagSCRIPTSTATE { SCRIPTSTATE_UNINITIALIZED = 0, SCRIPTSTATE_INITIALIZED = 5, SCRIPTSTATE_STARTED = 1, SCRIPTSTATE_CONNECTED = 2, SCRIPTSTATE_DISCONNECTED = 3, SCRIPTSTATE_CLOSED = 4, } SCRIPTSTATE ; cpp_quote( "") cpp_quote( "/* script thread state values */") cpp_quote( "") typedef enum tagSCRIPTTHREADSTATE { SCRIPTTHREADSTATE_NOTINSCRIPT = 0, SCRIPTTHREADSTATE_RUNNING = 1, } SCRIPTTHREADSTATE ; cpp_quote( "") cpp_quote( "/* Thread IDs */") cpp_quote( "") typedef DWORD SCRIPTTHREADID; cpp_quote( "") cpp_quote( "#define SCRIPTTHREADID_CURRENT ((SCRIPTTHREADID)-1)") cpp_quote( "#define SCRIPTTHREADID_BASE ((SCRIPTTHREADID)-2)") cpp_quote( "#define SCRIPTTHREADID_ALL ((SCRIPTTHREADID)-3)") cpp_quote( "") cpp_quote( "/* Structures */") cpp_quote( "") cpp_quote( "/* Interfaces") cpp_quote( " *************/") cpp_quote( "") interface IActiveScriptSite; interface IActiveScriptSiteWindow; interface IActiveScript; interface IActiveScriptParse; interface IActiveScriptParseProcedure; interface IActiveScriptError; cpp_quote( "") [ 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); } [ 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 // -1 --> unknown ); HRESULT GetSourceLineText( [out] BSTR *pbstrSourceLine ); } [ 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(); } cpp_quote( "typedef IActiveScriptSite *PIActiveScriptSite;") [ 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( "") cpp_quote( "typedef IActiveScriptParse *PIActiveScriptParse;") cpp_quote( "") [ 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); } cpp_quote( "") cpp_quote( "#endif // __ActivScp_h") cpp_quote( "")