|  | /* | 
|  | * 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_INVOKEVERSIONING       0x00004000") | 
|  |  | 
|  | cpp_quote("#define SCRIPTPROP_HACK_FIBERSUPPORT                0x70000000") | 
|  | cpp_quote("#define SCRIPTPROP_HACK_TRIDENTEVENTSINK            0x70000001") | 
|  | cpp_quote("#define SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION 0x70000002") | 
|  |  | 
|  | typedef enum tagSCRIPTSTATE { | 
|  | SCRIPTSTATE_UNINITIALIZED = 0, | 
|  | SCRIPTSTATE_STARTED       = 1, | 
|  | SCRIPTSTATE_CONNECTED     = 2, | 
|  | SCRIPTSTATE_DISCONNECTED  = 3, | 
|  | SCRIPTSTATE_CLOSED        = 4, | 
|  | SCRIPTSTATE_INITIALIZED   = 5 | 
|  | } SCRIPTSTATE; | 
|  |  | 
|  | typedef enum tagSCRIPTTHREADSTATE { | 
|  | SCRIPTTHREADSTATE_NOTINSCRIPT = 0, | 
|  | SCRIPTTHREADSTATE_RUNNING     = 1 | 
|  | } SCRIPTTHREADSTATE; | 
|  |  | 
|  | typedef enum tagSCRIPTUICITEM { | 
|  | SCRIPTUICITEM_INPUTBOX = 1, | 
|  | SCRIPTUICITEM_MSGBOX   = 2 | 
|  | } SCRIPTUICITEM; | 
|  |  | 
|  | typedef enum tagSCRIPTUICHANDLING { | 
|  | SCRIPTUICHANDLING_ALLOW       = 0, | 
|  | SCRIPTUICHANDLING_NOUIERROR   = 1, | 
|  | SCRIPTUICHANDLING_NOUIDEFAULT = 2 | 
|  | } SCRIPTUICHANDLING; | 
|  |  | 
|  | typedef DWORD SCRIPTTHREADID; | 
|  | 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(aedae97e-d7ee-4796-b960-7f092ae844ab), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IActiveScriptSiteUIControl : IUnknown | 
|  | { | 
|  | HRESULT GetUIBehavior( | 
|  | [in]  SCRIPTUICITEM UicItem, | 
|  | [out] SCRIPTUICHANDLING *pUicHandling); | 
|  | } | 
|  |  | 
|  | [ | 
|  | 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 IActiveScriptParseProcedureOld32 : 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(21f57128-08c9-4638-ba12-22d15d88dc5c), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IActiveScriptParseProcedureOld64 : IUnknown | 
|  | { | 
|  | HRESULT ParseProcedureText( | 
|  | [in] LPCOLESTR pstrCode, | 
|  | [in] LPCOLESTR pstrFormalParams, | 
|  | [in] LPCOLESTR pstrItemName, | 
|  | [in] IUnknown *punkContext, | 
|  | [in] LPCOLESTR pstrDelimiter, | 
|  | [in] DWORDLONG dwSourceContextCookie, | 
|  | [in] ULONG ulStartingLineNumber, | 
|  | [in] DWORD dwFlags, | 
|  | [out] IDispatch **ppdisp | 
|  | ); | 
|  | } | 
|  |  | 
|  | cpp_quote("#ifdef _WIN64") | 
|  | cpp_quote("#define IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld64") | 
|  | cpp_quote("#define IID_IActiveScriptParseProcedureOld IID_IActiveScriptParseProcedureOld64") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("#define IActiveScriptParseProcedureOld IActiveScriptParseProcedureOld32") | 
|  | cpp_quote("#define IID_IActiveScriptParseProcedureOld IID_IActiveScriptParseProcedureOld32") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | [ | 
|  | object, | 
|  | uuid(AA5B6A80-B834-11d0-932F-00A0C90DCAA9), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IActiveScriptParseProcedure32 : 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(c64713b6-e029-4cc5-9200-438b72890b6a), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IActiveScriptParseProcedure64 : IUnknown | 
|  | { | 
|  | HRESULT ParseProcedureText( | 
|  | [in] LPCOLESTR pstrCode, | 
|  | [in] LPCOLESTR pstrFormalParams, | 
|  | [in] LPCOLESTR pstrProcedureName, | 
|  | [in] LPCOLESTR pstrItemName, | 
|  | [in] IUnknown *punkContext, | 
|  | [in] LPCOLESTR pstrDelimiter, | 
|  | [in] DWORDLONG dwSourceContextCookie, | 
|  | [in] ULONG ulStartingLineNumber, | 
|  | [in] DWORD dwFlags, | 
|  | [out] IDispatch **ppdisp | 
|  | ); | 
|  | } | 
|  |  | 
|  | cpp_quote("#ifdef _WIN64") | 
|  | cpp_quote("#define IActiveScriptParseProcedure IActiveScriptParseProcedure64") | 
|  | cpp_quote("#define IID_IActiveScriptParseProcedure IID_IActiveScriptParseProcedure64") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("#define IActiveScriptParseProcedure IActiveScriptParseProcedure32") | 
|  | cpp_quote("#define IID_IActiveScriptParseProcedure IID_IActiveScriptParseProcedure32") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | [ | 
|  | object, | 
|  | uuid(71ee5b20-fb04-11d1-b3a8-00a0c911e8b2), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IActiveScriptParseProcedure2_32 : IActiveScriptParseProcedure32 | 
|  | { | 
|  | } | 
|  |  | 
|  | [ | 
|  | object, | 
|  | uuid(fe7c4271-210c-448d-9f54-76dab7047b28), | 
|  | pointer_default(unique) | 
|  | ] | 
|  | interface IActiveScriptParseProcedure2_64 : IActiveScriptParseProcedure64 | 
|  | { | 
|  | } | 
|  |  | 
|  | cpp_quote("#ifdef _WIN64") | 
|  | cpp_quote("#define IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_64") | 
|  | cpp_quote("#define IID_IActiveScriptParseProcedure2 IID_IActiveScriptParseProcedure2_64") | 
|  | cpp_quote("#else") | 
|  | cpp_quote("#define IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_32") | 
|  | cpp_quote("#define IID_IActiveScriptParseProcedure2 IID_IActiveScriptParseProcedure2_32") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | [ | 
|  | 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); | 
|  | } |