' ########################################################################################
' Microsoft Windows
' File: ActivScp.inc
' Contents: Declarations for ActiveX Scripting host applications and script engines.
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_ActivScp_PBI)
#DEFINE PBX_ActivScp_PBI
%EQUATE `ACTIVSCP_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/OCIdl.inc"
' CLSIDs (not included in the C header)
$CLSID_VBScript = GUID$("{B54F3741-5B07-11CF-A4B0-00AA004A55E8}")
$CLSID_JScript = GUID$("{F414C260-6AC0-11CF-B6D1-00AA00BBBB58}")
'/* GUIDs
' ********/
#IF NOT %DEF(%NO_SCRIPT_GUIDS)
$CATID_ActiveScript = GUID$("{F0B7A1A1-9847-11cf-8F20-00805F2CD064}")
$CATID_ActiveScriptParse = GUID$("{F0B7A1A2-9847-11cf-8F20-00805F2CD064}")
$CATID_ActiveScriptEncode = GUID$("{F0B7A1A3-9847-11cf-8F20-00805F2CD064}")
$IID_IActiveScript = GUID$("{BB1A2AE1-A4F9-11cf-8F20-00805F2CD064}")
$IID_IActiveScriptParse = GUID$("{BB1A2AE2-A4F9-11cf-8F20-00805F2CD064}")
$IID_IActiveScriptParse32 = GUID$("{BB1A2AE2-A4F9-11cf-8F20-00805F2CD064}")
$IID_IActiveScriptParse64 = GUID$("{C7EF7658-E1EE-480E-97EA-D52CB4D76D17}")
$IID_IActiveScriptEncode = GUID$("{BB1A2AE3-A4F9-11cf-8F20-00805F2CD064}")
$IID_IActiveScriptHostEncode = GUID$("{BEE9B76E-CFE3-11d1-B747-00C04FC2B085}")
$IID_IActiveScriptParseProcedureOld = GUID$("{1CFF0050-6FDD-11d0-9328-00A0C90DCAA9}")
$IID_IActiveScriptParseProcedureOld32 = GUID$("{1CFF0050-6FDD-11d0-9328-00A0C90DCAA9}")
$IID_IActiveScriptParseProcedureOld64 = GUID$("{21F57128-08C9-4638-BA12-22D15D88DC5C}")
$IID_IActiveScriptParseProcedure = GUID$("{AA5B6A80-B834-11d0-932F-00A0C90DCAA9}")
$IID_IActiveScriptParseProcedure32 = GUID$("{AA5B6A80-B834-11d0-932F-00A0C90DCAA9}")
$IID_IActiveScriptParseProcedure64 = GUID$("{C64713B6-E029-4CC5-9200-438B72890B6A}")
$IID_IActiveScriptParseProcedure2 = GUID$("{71EE5B20-FB04-11d1-B3A8-00A0C911E8B2}")
$IID_IActiveScriptParseProcedure2_32 = GUID$("{71EE5B20-FB04-11d1-B3A8-00A0C911E8B2}")
$IID_IActiveScriptParseProcedure2_64 = GUID$("{FE7C4271-210C-448D-9F54-76DAB7047B28}")
$IID_IActiveScriptSite = GUID$("{DB01A1E3-A42B-11cf-8F20-00805F2CD064}")
$IID_IActiveScriptSiteTraceInfo = GUID$("{4B7272AE-1955-4bfe-98B0-780621888569}")
$IID_IActiveScriptSiteWindow = GUID$("{D10F6761-83E9-11cf-8F20-00805F2CD064}")
$IID_IActiveScriptSiteInterruptPoll = GUID$("{539698A0-CDCA-11CF-A5EB-00AA0047A063}")
$IID_IActiveScriptSiteUIControl = GUID$("{AEDAE97E-D7EE-4796-B960-7F092AE844AB}")
$IID_IActiveScriptError = GUID$("{EAE1BA61-A4ED-11cf-8F20-00805F2CD064}")
$IID_IActiveScriptError64 = GUID$("{B21FB2A1-5B8F-4963-8C21-21450F84ED7F}")
$IID_IBindEventHandler = GUID$("{63CDBCB0-C1B1-11d0-9336-00A0C90DCAA9}")
$IID_IActiveScriptStats = GUID$("{B8DA6310-E19B-11d0-933C-00A0C90DCAA9}")
$IID_IActiveScriptProperty = GUID$("{4954E0D0-FBC7-11D1-8410-006008C3FBFC}")
$IID_ITridentEventSink = GUID$("{1DC9CA50-06EF-11d2-8415-006008C3FBFC}")
$IID_IActiveScriptGarbageCollector = GUID$("{6AA2C4A0-2B53-11d4-A2A0-00104BD35090}")
$IID_IActiveScriptSIPInfo = GUID$("{764651D0-38DE-11d4-A2A3-00104BD35090}")
$IID_IActiveScriptTraceInfo = GUID$("{C35456E7-BEBF-4a1b-86A9-24D56BE8B369}")
$OID_VBSSIP = GUID$("{1629F04E-2799-4db5-8FE5-ACE10F17EBAB}")
$OID_JSSIP = GUID$("{06C9E010-38CE-11d4-A2A3-00104BD35090}")
$OID_WSFSIP = GUID$("{1A610570-38CE-11d4-A2A3-00104BD35090}")
$IID_IActiveScriptStringCompare = GUID$("{58562769-ED52-42f7-8403-4963514E1F11}")
#ENDIF ' // _NO_SCRIPT_GUIDS
'// Constants used by ActiveX Scripting:
'//
'/* IActiveScript::AddNamedItem() input flags */
%EQUATE `SCRIPTITEM_ISVISIBLE = &H00000002
%EQUATE `SCRIPTITEM_ISSOURCE = &H00000004
%EQUATE `SCRIPTITEM_GLOBALMEMBERS = &H00000008
%EQUATE `SCRIPTITEM_ISPERSISTENT = &H00000040
%EQUATE `SCRIPTITEM_CODEONLY = &H00000200
%EQUATE `SCRIPTITEM_NOCODE = &H00000400
%EQUATE `SCRIPTITEM_ALL_FLAGS = %SCRIPTITEM_ISSOURCE OR %SCRIPTITEM_ISVISIBLE OR %SCRIPTITEM_ISPERSISTENT OR %SCRIPTITEM_GLOBALMEMBERS OR %SCRIPTITEM_NOCODE OR %SCRIPTITEM_CODEONLY
'/* IActiveScript::AddTypeLib() input flags */
%EQUATE `SCRIPTTYPELIB_ISCONTROL = &H00000010
%EQUATE `SCRIPTTYPELIB_ISPERSISTENT = &H00000040
%EQUATE `SCRIPTTYPELIB_ALL_FLAGS = %SCRIPTTYPELIB_ISCONTROL OR %SCRIPTTYPELIB_ISPERSISTENT
'/* IActiveScriptParse::AddScriptlet() and IActiveScriptParse::ParseScriptText() input flags */
%EQUATE `SCRIPTTEXT_DELAYEXECUTION = &H00000001
%EQUATE `SCRIPTTEXT_ISVISIBLE = &H00000002
%EQUATE `SCRIPTTEXT_ISEXPRESSION = &H00000020
%EQUATE `SCRIPTTEXT_ISPERSISTENT = &H00000040
%EQUATE `SCRIPTTEXT_HOSTMANAGESSOURCE = &H00000080
%EQUATE `SCRIPTTEXT_ISXDOMAIN = &H00000100
%EQUATE `SCRIPTTEXT_ALL_FLAGS = %SCRIPTTEXT_DELAYEXECUTION OR %SCRIPTTEXT_ISVISIBLE OR %SCRIPTTEXT_ISEXPRESSION OR %SCRIPTTEXT_ISPERSISTENT OR %SCRIPTTEXT_HOSTMANAGESSOURCE OR %SCRIPTTEXT_ISXDOMAIN
'/* IActiveScriptParseProcedure::ParseProcedureText() input flags */
%EQUATE `SCRIPTPROC_ISEXPRESSION = &H00000020
%EQUATE `SCRIPTPROC_HOSTMANAGESSOURCE = &H00000080
%EQUATE `SCRIPTPROC_IMPLICIT_THIS = &H00000100
%EQUATE `SCRIPTPROC_IMPLICIT_PARENTS = &H00000200
%EQUATE `SCRIPTPROC_ISXDOMAIN = &H00000400
%EQUATE `SCRIPTPROC_ALL_FLAGS = %SCRIPTPROC_HOSTMANAGESSOURCE OR %SCRIPTPROC_ISEXPRESSION OR %SCRIPTPROC_IMPLICIT_THIS OR %SCRIPTPROC_IMPLICIT_PARENTS OR %SCRIPTPROC_ISXDOMAIN
'/* IActiveScriptSite::GetItemInfo() input flags */
%EQUATE `SCRIPTINFO_IUNKNOWN = &H00000001
%EQUATE `SCRIPTINFO_ITYPEINFO = &H00000002
%EQUATE `SCRIPTINFO_ALL_FLAGS = %SCRIPTINFO_IUNKNOWN OR %SCRIPTINFO_ITYPEINFO
'/* IActiveScript::Interrupt() Flags */
%EQUATE `SCRIPTINTERRUPT_DEBUG = &H00000001
%EQUATE `SCRIPTINTERRUPT_RAISEEXCEPTION = &H00000002
%EQUATE `SCRIPTINTERRUPT_ALL_FLAGS = %SCRIPTINTERRUPT_DEBUG OR %SCRIPTINTERRUPT_RAISEEXCEPTION
'/* IActiveScriptStats::GetStat() values */
%EQUATE `SCRIPTSTAT_STATEMENT_COUNT = 1
%EQUATE `SCRIPTSTAT_INSTRUCTION_COUNT = 2
%EQUATE `SCRIPTSTAT_INTSTRUCTION_TIME = 3
%EQUATE `SCRIPTSTAT_TOTAL_TIME = 4
'/* IActiveScriptEncode::AddSection() input flags */
%EQUATE `SCRIPT_ENCODE_SECTION = &H00000001
%EQUATE `SCRIPT_ENCODE_DEFAULT_LANGUAGE = &H00000001
%EQUATE `SCRIPT_ENCODE_NO_ASP_LANGUAGE = &H00000002
'/* Properties for IActiveScriptProperty */
%EQUATE `SCRIPTPROP_NAME = &H00000000
%EQUATE `SCRIPTPROP_MAJORVERSION = &H00000001
%EQUATE `SCRIPTPROP_MINORVERSION = &H00000002
%EQUATE `SCRIPTPROP_BUILDNUMBER = &H00000003
%EQUATE `SCRIPTPROP_DELAYEDEVENTSINKING = &H00001000
%EQUATE `SCRIPTPROP_CATCHEXCEPTION = &H00001001
%EQUATE `SCRIPTPROP_CONVERSIONLCID = &H00001002
%EQUATE `SCRIPTPROP_HOSTSTACKREQUIRED = &H00001003
%EQUATE `SCRIPTPROP_DEBUGGER = &H00001100
%EQUATE `SCRIPTPROP_JITDEBUG = &H00001101
%EQUATE `SCRIPTPROP_GCCONTROLSOFTCLOSE = &H00002000
%EQUATE `SCRIPTPROP_INTEGERMODE = &H00003000
%EQUATE `SCRIPTPROP_STRINGCOMPAREINSTANCE = &H00003001
%EQUATE `SCRIPTPROP_INVOKEVERSIONING = &H00004000
'// These properties are defined and available, but are not
'// officially supported.
%EQUATE `SCRIPTPROP_HACK_FIBERSUPPORT = &H70000000
%EQUATE `SCRIPTPROP_HACK_TRIDENTEVENTSINK = &H70000001
%EQUATE `SCRIPTPROP_ABBREVIATE_GLOBALNAME_RESOLUTION = &H70000002
'/* script language version values for SCRIPTPROP_INVOKEVERSIONING property */
' Enum SCRIPTLANGUAGEVERSION
MACRO SCRIPTLANGUAGEVERSION_ENUM = LONG
%EQUATE `SCRIPTLANGUAGEVERSION_DEFAULT = 0
%EQUATE `SCRIPTLANGUAGEVERSION_5_7 = 1
%EQUATE `SCRIPTLANGUAGEVERSION_5_8 = 2
%EQUATE `SCRIPTLANGUAGEVERSION_MAX = 255
' Enum SCRIPTSTATE
MACRO SCRIPTSTATE_ENUM = LONG
%EQUATE `SCRIPTSTATE_UNINITIALIZED = 0
%EQUATE `SCRIPTSTATE_INITIALIZED = 5
%EQUATE `SCRIPTSTATE_STARTED = 1
%EQUATE `SCRIPTSTATE_CONNECTED = 2
%EQUATE `SCRIPTSTATE_DISCONNECTED = 3
%EQUATE `SCRIPTSTATE_CLOSED = 4
' Enum SCRIPTTRACEINFO
MACRO SCRIPTTRACEINFO_ENUM = LONG
%EQUATE `SCRIPTTRACEINFO_SCRIPTSTART = 0
%EQUATE `SCRIPTTRACEINFO_SCRIPTEND = 1
%EQUATE `SCRIPTTRACEINFO_COMCALLSTART = 2
%EQUATE `SCRIPTTRACEINFO_COMCALLEND = 3
%EQUATE `SCRIPTTRACEINFO_CREATEOBJSTART = 4
%EQUATE `SCRIPTTRACEINFO_CREATEOBJEND = 5
%EQUATE `SCRIPTTRACEINFO_GETOBJSTART = 6
%EQUATE `SCRIPTTRACEINFO_GETOBJEND = 7
'/* script thread state values */
' Enum SCRIPTTHREADSTATE
MACRO SCRIPTTHREADSTATE_ENUM = LONG
%EQUATE `SCRIPTTHREADSTATE_NOTINSCRIPT = 0
%EQUATE `SCRIPTTHREADSTATE_RUNNING = 1
'/* IActiveScriptCollectGarbage constants */
' Enum SCRIPTGCTYPE
MACRO SCRIPTGCTYPE_ENUM = LONG
%EQUATE `SCRIPTGCTYPE_NORMAL = 0
%EQUATE `SCRIPTGCTYPE_EXHAUSTIVE = 1
'/* IActiveScriptSiteUIControl constants*/
' Enum SCRIPTUICITEM
MACRO SCRIPTUICITEM_ENUM = LONG
%EQUATE `SCRIPTUICITEM_INPUTBOX = 1
%EQUATE `SCRIPTUICITEM_MSGBOX = 2
' Enum SCRIPTUICHANDLING
MACRO SCRIPTUICHANDLING_ENUM = LONG
%EQUATE `SCRIPTUICHANDLING_ALLOW = 0
%EQUATE `SCRIPTUICHANDLING_NOUIERROR = 1
%EQUATE `SCRIPTUICHANDLING_NOUIDEFAULT = 2
'/* Thread IDs */
'typedef DWORD SCRIPTTHREADID;
MACRO SCRIPTTHREADID = DWORD
%EQUATE `SCRIPTTHREADID_CURRENT = &HFFFFFFFF ' ((SCRIPTTHREADID)-1)
%EQUATE `SCRIPTTHREADID_BASE = &HFFFFFFFE ' ((SCRIPTTHREADID)-2)
%EQUATE `SCRIPTTHREADID_ALL = &HFFFFFFFD ' ((SCRIPTTHREADID)-3)
'/* Structures */
'/* Interfaces
' *************/
' ########################################################################################
' Interface name = IActiveScriptSite
' IID = {DB01A1E3-A42B-11cf-8F20-00805F2CD064}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptSite_INTERFACE_DEFINED)
 %IActiveScriptSite_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptSite $IID_IActiveScriptSite
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetLCID ( ' VTable offset = 12
 BYREF plcid AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetItemInfo ( ' VTable offset = 16
 BYREF pstrName AS WSTRINGZ
 , BYVAL dwReturnMask AS DWORD
 , BYREF ppiunkItem AS IUnknown
 , BYREF ppti AS ITypeInfo
 ) AS LONG
 ' =====================================================================================
 METHOD GetDocVersionString ( ' VTable offset = 20
 BYREF pbstrVersion AS WSTRING
 ) AS LONG
 ' =====================================================================================
 METHOD OnScriptTerminate ( ' VTable offset = 24
 BYREF pvarResult AS VARIANT
 , BYREF pexcepinfo AS EXCEPINFO
 ) AS LONG
 ' =====================================================================================
 METHOD OnStateChange ( ' VTable offset = 28
 BYVAL ssScriptState AS SCRIPTSTATE_ENUM
 ) AS LONG
 ' =====================================================================================
 METHOD OnScriptError ( ' VTable offset = 32
 BYVAL pscripterror AS IActiveScriptError
 ) AS LONG
 ' =====================================================================================
 METHOD OnEnterScript ( ' VTable offset = 36
 ) AS LONG
 ' =====================================================================================
 METHOD OnLeaveScript ( ' VTable offset = 40
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptSite_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptError
' IID = {EAE1BA61-A4ED-11cf-8F20-00805F2CD064}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptError_INTERFACE_DEFINED)
 %IActiveScriptError_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptError $IID_IActiveScriptError
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetExceptionInfo ( ' VTable offset = 12
 BYREF pexcepinfo AS EXCEPINFO
 ) AS LONG
 ' =====================================================================================
 METHOD GetSourcePosition ( ' VTable offset = 16
 BYREF pdwSourceContext AS DWORD
 , BYREF pulLineNumber AS DWORD
 , BYREF plCharacterPosition AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD GetSourceLineText ( ' VTable offset = 20
 BYREF pbstrSourceLine AS WSTRING
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptError_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptError64
' IID = {B21FB2A1-5B8F-4963-8C21-21450F84ED7F}
' Inherited interface = IActiveScriptError
' ########################################################################################
#IF NOT %DEF(%IActiveScriptError64_INTERFACE_DEFINED)
 %IActiveScriptError_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptError64 $IID_IActiveScriptError64
 INHERIT IUnknown
 ' =====================================================================================
 ' IActiveScriptError methods
 ' =====================================================================================
 METHOD GetExceptionInfo ( ' VTable offset = 12
 BYREF pexcepinfo AS EXCEPINFO
 ) AS LONG
 ' =====================================================================================
 METHOD GetSourcePosition ( ' VTable offset = 16
 BYREF pdwSourceContext AS DWORD
 , BYREF pulLineNumber AS DWORD
 , BYREF plCharacterPosition AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD GetSourceLineText ( ' VTable offset = 20
 BYREF pbstrSourceLine AS WSTRING
 ) AS LONG
 ' =====================================================================================
 ' =====================================================================================
 ' IActiveScriptError64 methods
 ' =====================================================================================
 METHOD GetSourcePosition64 ( ' VTable offset = 24
 BYREF pdwSourceContext AS QUAD
 , BYREF pulLineNumber AS DWORD
 , BYREF plCharacterPosition AS LONG
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptError64_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptSiteWindow
' IID = {D10F6761-83E9-11cf-8F20-00805F2CD064}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptSiteWindow_INTERFACE_DEFINED)
 %IActiveScriptSiteWindow_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptSiteWindow $IID_IActiveScriptSiteWindow
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetWindow ( ' VTable offset = 12
 BYREF phwnd AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD EnableModeless ( ' VTable offset = 16
 BYVAL fEnable AS LONG
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptSiteWindow_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptSiteUIControl
' IID = {AEDAE97E-D7EE-4796-B960-7F092AE844AB}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptSiteUIControl_INTERFACE_DEFINED)
 %IActiveScriptSiteUIControl_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptSiteUIControl $IID_IActiveScriptSiteUIControl
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetUIBehavior ( ' VTable offset = 12
 BYVAL UicItem AS SCRIPTUICITEM_ENUM
 , BYREF pUicHandling AS SCRIPTUICHANDLING_ENUM
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptSiteUIControl_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptSiteInterruptPoll
' IID = {539698A0-CDCA-11CF-A5EB-00AA0047A063}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptSiteInterruptPoll_INTERFACE_DEFINED)
 %IActiveScriptSiteInterruptPoll_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptSiteInterruptPoll $IID_IActiveScriptSiteInterruptPoll
 INHERIT IUnknown
 ' =====================================================================================
 METHOD QueryContinue ( ' VTable offset = 12
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptSiteInterruptPoll_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScript
' IID = {BB1A2AE1-A4F9-11cf-8F20-00805F2CD064}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScript_INTERFACE_DEFINED)
 %IActiveScript_INTERFACE_DEFINED = 1
INTERFACE IActiveScript $IID_IActiveScript
 INHERIT IUnknown
 ' =====================================================================================
 METHOD SetScriptSite ( ' VTable offset = 12
 BYVAL pass AS IActiveScriptSite
 ) AS LONG
 ' =====================================================================================
 METHOD GetScriptSite ( ' VTable offset = 16
 BYREF riid AS GUID
 , BYREF ppvObject AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD SetScriptState ( ' VTable offset = 20
 BYVAL ss AS SCRIPTSTATE_ENUM
 ) AS LONG
 ' =====================================================================================
 METHOD GetScriptState ( ' VTable offset = 24
 BYREF ss AS SCRIPTSTATE_ENUM
 ) AS LONG
 ' =====================================================================================
 METHOD Close ( ' VTable offset = 28
 ) AS LONG
 ' =====================================================================================
 METHOD AddNamedItem ( ' VTable offset = 32
 BYREF pstrName AS WSTRINGZ
 , BYVAL dwFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD AddTypeLib ( ' VTable offset = 36
 BYREF rguidTypeLib AS GUID
 , BYVAL dwMajor AS DWORD
 , BYVAL dwMinor AS DWORD
 , BYVAL dwFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetScriptDispatch ( ' VTable offset = 40
 BYREF pstrItemName AS WSTRINGZ
 , BYREF ppdisp AS IDispatch
 ) AS LONG
 ' =====================================================================================
 METHOD GetCurrentScriptThreadID ( ' VTable offset = 44
 BYREF pstidThread AS SCRIPTTHREADID
 ) AS LONG
 ' =====================================================================================
 METHOD GetScriptThreadID ( ' VTable offset = 48
 BYVAL dwWin32ThreadId AS DWORD
 , BYREF pstidThread AS SCRIPTTHREADID
 ) AS LONG
 ' =====================================================================================
 METHOD GetScriptThreadState ( ' VTable offset = 52
 BYVAL stidThread AS SCRIPTTHREADID
 , BYREF pstsState AS SCRIPTTHREADSTATE_ENUM
 ) AS LONG
 ' =====================================================================================
 METHOD InterruptScriptThread ( ' VTable offset = 56
 BYVAL stidThread AS SCRIPTTHREADID
 , BYREF pexcepinfo AS EXCEPINFO
 , BYVAL DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD Clone ( ' VTable offset = 60
 BYREF ppscript AS IActiveScript
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScript_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptParse
' IID = {BB1A2AE2-A4F9-11cf-8F20-00805F2CD064}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptParse_INTERFACE_DEFINED)
 %IActiveScriptParse_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptParse $IID_IActiveScriptParse
 INHERIT IUnknown
 ' =====================================================================================
 METHOD InitNew ( ' VTable offset = 12
 ) AS LONG
 ' =====================================================================================
 METHOD AddScriptlet ( ' VTable offset = 16
 BYREF pstrDefaultName AS WSTRINGZ
 , BYREF pstrCode AS WSTRINGZ
 , BYREF pstrItemName AS WSTRINGZ
 , BYREF pstrSubItemName AS WSTRINGZ
 , BYREF pstrEventName AS WSTRINGZ
 , BYREF pstrDelimiter AS WSTRINGZ
 , BYVAL dwSourceContextCookie AS DWORD
 , BYVAL ulStartingLineNumber As DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF pbstrName AS WSTRING
 , BYREF pexcepinfo AS EXCEPINFO
 ) AS LONG
 ' =====================================================================================
 METHOD ParseScriptText ( ' VTable offset = 20
 BYREF pstrCode AS WSTRINGZ
 , BYREF pstrItemName AS WSTRINGZ
 , BYVAL punkContext AS IUnknown
 , BYREF pstrDelimiter AS WSTRINGZ
 , BYVAL dwSourceContextCookie AS DWORD
 , BYVAL ulStartingLineNumber AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF pvarResult AS VARIANT
 , BYREF pexcepinfo AS EXCEPINFO
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptParse_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptParse64
' IID = {C7EF7658-E1EE-480E-97EA-D52CB4D76D17}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptParse64_INTERFACE_DEFINED)
 %IActiveScriptParse64_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptParse64 $IID_IActiveScriptParse64
 INHERIT IUnknown
 ' =====================================================================================
 METHOD InitNew ( ' VTable offset = 12
 ) AS LONG
 ' =====================================================================================
 METHOD AddScriptlet ( ' VTable offset = 16
 BYREF pstrDefaultName AS WSTRINGZ
 , BYREF pstrCode AS WSTRINGZ
 , BYREF pstrItemName AS WSTRINGZ
 , BYREF pstrSubItemName AS WSTRINGZ
 , BYREF pstrEventName AS WSTRINGZ
 , BYREF pstrDelimiter AS WSTRINGZ
 , BYVAL dwSourceContextCookie AS QUAD
 , BYVAL ulStartingLineNumber AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF pbstrName AS WSTRING
 , BYREF pexcepinfo AS EXCEPINFO
 ) AS LONG
 ' =====================================================================================
 METHOD ParseScriptText ( ' VTable offset = 20
 BYREF pstrCode AS WSTRINGZ
 , BYREF pstrItemName AS WSTRINGZ
 , BYVAL punkContext AS IUnknown
 , BYREF pstrDelimiter AS WSTRINGZ
 , BYVAL dwSourceContextCookie AS QUAD
 , BYVAL ulStartingLineNumber AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF pvarResult AS VARIANT
 , BYREF pexcepinfo AS EXCEPINFO
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptParse64_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptParseProcedureOld
' IID = {1CFF0050-6FDD-11d0-9328-00A0C90DCAA9}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptParseProcedureOld_INTERFACE_DEFINED)
 %IActiveScriptParseProcedureOld_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptParseProcedureOld $IID_IActiveScriptParseProcedureOld
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ParseProcedureText ( ' VTable offset = 12
 BYREF pstrCode AS WSTRINGZ
 , BYREF pstrFormalParams AS WSTRINGZ
 , BYREF pstrItemName AS WSTRINGZ
 , BYVAL punkContext AS IUnknown
 , BYREF pstrDelimiter AS WSTRINGZ
 , BYVAL dwSourceContextCookie AS DWORD
 , BYVAL ulStartingLineNumber AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF ppdisp AS IDispatch
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptParseProcedureOld_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptParseProcedureOld64
' IID = {21F57128-08C9-4638-BA12-22D15D88DC5C}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptParseProcedureOld64_INTERFACE_DEFINED)
 %IActiveScriptParseProcedureOld64_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptParseProcedureOld64 $IID_IActiveScriptParseProcedureOld64
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ParseProcedureText ( ' VTable offset = 12
 BYREF pstrCode AS WSTRINGZ
 , BYREF pstrFormalParams AS WSTRINGZ
 , BYREF pstrItemName AS WSTRINGZ
 , BYVAL punkContext AS IUnknown
 , BYREF pstrDelimiter AS WSTRINGZ
 , BYVAL dwSourceContextCookie AS QUAD
 , BYVAL ulStartingLineNumber AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF ppdisp AS IDispatch
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptParseProcedureOld64_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptParseProcedure
' IID = {AA5B6A80-B834-11d0-932F-00A0C90DCAA9}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptParseProcedure_INTERFACE_DEFINED)
 %IActiveScriptParseProcedure_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptParseProcedure $IID_IActiveScriptParseProcedure
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ParseProcedureText ( ' VTable offset = 12
 BYREF pstrCode AS WSTRINGZ
 , BYREF pstrFormalParams AS WSTRINGZ
 , BYREF pstrProcedureName AS WSTRINGZ
 , BYREF pstrItemName AS WSTRINGZ
 , BYVAL punkContext AS IUnknown
 , BYREF pstrDelimiter AS WSTRINGZ
 , BYVAL dwSourceContextCookie AS DWORD
 , BYVAL ulStartingLineNumber AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF ppdisp AS IDispatch
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptParseProcedure_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptParseProcedure64
' IID = {C64713B6-E029-4CC5-9200-438B72890B6A}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptParseProcedure64_INTERFACE_DEFINED)
 %IActiveScriptParseProcedure64_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptParseProcedure64 $IID_IActiveScriptParseProcedure64
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ParseProcedureText ( ' VTable offset = 12
 BYREF pstrCode AS WSTRINGZ
 , BYREF pstrFormalParams AS WSTRINGZ
 , BYREF pstrProcedureName AS WSTRINGZ
 , BYREF pstrItemName AS WSTRINGZ
 , BYVAL punkContext AS IUnknown
 , BYREF pstrDelimiter AS WSTRINGZ
 , BYVAL dwSourceContextCookie AS QUAD
 , BYVAL ulStartingLineNumber AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF ppdisp AS IDispatch
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptParseProcedure64_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptParseProcedure2
' IID = {71EE5B20-FB04-11d1-B3A8-00A0C911E8B2}
' Inherited interface = IActiveScriptParseProcedure
' ########################################################################################
#IF NOT %DEF(%IActiveScriptParseProcedure2_INTERFACE_DEFINED)
 %IActiveScriptParseProcedure2_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptParseProcedure2 $IID_IActiveScriptParseProcedure2
 INHERIT IUnknown
 ' =====================================================================================
 ' IActiveScriptParseProcedure methods
 ' =====================================================================================
 METHOD ParseProcedureText ( ' VTable offset = 12
 BYREF pstrCode AS WSTRINGZ
 , BYREF pstrFormalParams AS WSTRINGZ
 , BYREF pstrProcedureName AS WSTRINGZ
 , BYREF pstrItemName AS WSTRINGZ
 , BYVAL punkContext AS IUnknown
 , BYREF pstrDelimiter AS WSTRINGZ
 , BYVAL dwSourceContextCookie AS DWORD
 , BYVAL ulStartingLineNumber AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF ppdisp AS IDispatch
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptParseProcedure2_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptParseProcedure2_64
' IID = {FE7C4271-210C-448D-9F54-76DAB7047B28}
' Inherited interface = IActiveScriptParseProcedure64
' ########################################################################################
#IF NOT %DEF(%IActiveScriptParseProcedure64_INTERFACE_DEFINED)
 %IActiveScriptParseProcedure2_64_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptParseProcedure2_64 $IID_IActiveScriptParseProcedure2_64
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ParseProcedureText ( ' VTable offset = 12
 BYREF pstrCode AS WSTRINGZ
 , BYREF pstrFormalParams AS WSTRINGZ
 , BYREF pstrProcedureName AS WSTRINGZ
 , BYREF pstrItemName AS WSTRINGZ
 , BYVAL punkContext AS IUnknown
 , BYREF pstrDelimiter AS WSTRINGZ
 , BYVAL dwSourceContextCookie AS QUAD
 , BYVAL ulStartingLineNumber AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYREF ppdisp AS IDispatch
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptParseProcedure2_64_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptEncode
' IID = {BB1A2AE3-A4F9-11cf-8F20-00805F2CD064}
' Inherited interface = IUnknown
' Undocumented.
' ########################################################################################
#IF NOT %DEF(%IActiveScriptEncode_INTERFACE_DEFINED)
 %IActiveScriptEncode_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptEncode $IID_IActiveScriptEncode
 INHERIT IUnknown
 ' =====================================================================================
 METHOD EncodeSection ( ' VTable offset = 12
 BYREF pchIn AS WSTRINGZ
 , BYVAL cchIn AS DWORD
 , BYREF pchOut AS WSTRINGZ
 , BYVAL cchOut AS DWORD
 , BYREF pcchRet AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD DecodeScript ( ' VTable offset = 16
 BYREF pchIn AS WSTRINGZ
 , BYVAL cchIn AS DWORD
 , BYREF pchOut AS WSTRINGZ
 , BYVAL cchOut AS DWORD
 , BYREF pcchRet AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetEncodeProgId ( ' VTable offset = 20
 BYREF pbstrOut AS WSTRING
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptEncode_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptHostEncode
' IID = {BEE9B76E-CFE3-11d1-B747-00C04FC2B085}
' Inherited interface = IUnknown
' Undocumented.
' ########################################################################################
#IF NOT %DEF(%IActiveScriptHostEncode_INTERFACE_DEFINED)
 %IActiveScriptHostEncode_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptHostEncode $IID_IActiveScriptHostEncode
 INHERIT IUnknown
 ' =====================================================================================
 METHOD EncodeScriptHostFile ( ' VTable offset = 12
 BYVAL bstrInFile AS WSTRING
 , BYREF pbstrOutFile AS WSTRING
 , BYVAL cFlags AS DWORD
 , BYVAL bstrDefaultLang AS WSTRING
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptHostEncode_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IBindEventHandler
' IID = {63CDBCB0-C1B1-11d0-9336-00A0C90DCAA9}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IBindEventHandler_INTERFACE_DEFINED)
 %IBindEventHandler_INTERFACE_DEFINED = 1
INTERFACE IBindEventHandler $IID_IBindEventHandler
 INHERIT IUnknown
 ' =====================================================================================
 METHOD BindHandler ( ' VTable offset = 12
 BYREF pstrEvent AS WSTRINGZ
 , BYVAL pdisp AS IDispatch
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IBindEventHandler_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptStats
' IID = {B8DA6310-E19B-11d0-933C-00A0C90DCAA9}
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IActiveScriptStats_INTERFACE_DEFINED)
 %IActiveScriptStats_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptStats $IID_IActiveScriptStats
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetStat ( ' VTable offset = 12
 BYVAL stid AS DWORD
 , BYREF pluHi AS DWORD
 , BYREF pluLo AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetStatEx ( ' VTable offset = 16
 BYREF guid AS GUID
 , BYREF pluHi AS DWORD
 , BYREF pluLo AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD ResetStats ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptStats_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptProperty
' IID = {4954E0D0-FBC7-11D1-8410-006008C3FBFC}
' Inherited interface = IUnknown
' Undocumented.
' ########################################################################################
#IF NOT %DEF(%IActiveScriptProperty_INTERFACE_DEFINED)
 %IActiveScriptProperty_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptProperty $IID_IActiveScriptProperty
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetProperty ( ' VTable offset = 12
 BYVAL dwProperty AS DWORD
 , BYREF pvarIndex AS VARIANT
 , BYREF pvarValue AS VARIANT
 ) AS LONG
 ' =====================================================================================
 METHOD SetProperty ( ' VTable offset = 16
 BYVAL dwProperty AS DWORD
 , BYREF pvarIndex AS VARIANT
 , BYREF pvarValue AS VARIANT
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptProperty_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = ITridentEventSink
' IID = {1DC9CA50-06EF-11d2-8415-006008C3FBFC}
' Inherited interface = IUnknown
' Undocumented.
' ########################################################################################
#IF NOT %DEF(%ITridentEventSink_INTERFACE_DEFINED)
 %ITridentEventSink_INTERFACE_DEFINED = 1
INTERFACE ITridentEventSink $IID_ITridentEventSink
 INHERIT IUnknown
 ' =====================================================================================
 METHOD FireEvent ( ' VTable offset = 12
 BYREF pstrEvent AS WSTRINGZ
 , BYREF pdp AS DISPPARAMS
 , BYREF pvarRes AS VARIANT
 , BYREF pei AS EXCEPINFO
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITridentEventSink_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptGarbageCollector
' IID = {6AA2C4A0-2B53-11d4-A2A0-00104BD35090}
' Inherited interface = IUnknown
' Undocumented.
' ########################################################################################
#IF NOT %DEF(%IActiveScriptGarbageCollector_INTERFACE_DEFINED)
 %IActiveScriptGarbageCollector_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptGarbageCollector $IID_IActiveScriptGarbageCollector
 INHERIT IUnknown
 ' =====================================================================================
 METHOD CollectGarbage ( ' VTable offset = 12
 BYVAL scriptgctype AS SCRIPTGCTYPE_ENUM
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptGarbageCollector_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptSIPInfo
' IID = {764651D0-38DE-11d4-A2A3-00104BD35090}
' Inherited interface = IUnknown
' Undocumented.
' ########################################################################################
#IF NOT %DEF(%IActiveScriptSIPInfo_INTERFACE_DEFINED)
 %IActiveScriptSIPInfo_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptSIPInfo $IID_IActiveScriptSIPInfo
 INHERIT IUnknown
 ' =====================================================================================
 METHOD CollectGarbage ( ' VTable offset = 12
 BYREF poid_sip AS GUID
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptSIPInfo_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptSiteTraceInfo
' IID = {4B7272AE-1955-4bfe-98B0-780621888569}
' Inherited interface = IUnknown
' Undocumented.
' ########################################################################################
#IF NOT %DEF(%IActiveScriptSiteTraceInfo_INTERFACE_DEFINED)
 %IActiveScriptSiteTraceInfo_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptSiteTraceInfo $IID_IActiveScriptSiteTraceInfo
 INHERIT IUnknown
 ' =====================================================================================
 METHOD SendScriptTraceInfo ( ' VTable offset = 12
 BYVAL stiEventType AS SCRIPTTRACEINFO_ENUM
 , BYREF guidContextID AS GUID
 , BYVAL dwScriptContextCookie AS DWORD
 , BYVAL lScriptStatementStart AS LONG
 , BYVAL lScriptStatementEnd AS LONG
 , BYVAL dwReserved AS QUAD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptSiteTraceInfo_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptTraceInfo
' IID = {C35456E7-BEBF-4a1b-86A9-24D56BE8B369}
' Inherited interface = IUnknown
' Undocumented.
' ########################################################################################
#IF NOT %DEF(%IActiveScriptTraceInfo_INTERFACE_DEFINED)
 %IActiveScriptTraceInfo_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptTraceInfo $IID_IActiveScriptTraceInfo
 INHERIT IUnknown
 ' =====================================================================================
 METHOD StartScriptTracing ( ' VTable offset = 12
 BYVAL pSiteTraceInfo AS IActiveScriptSiteTraceInfo
 , BYREF guidContextID AS GUID
 ) AS LONG
 ' =====================================================================================
 METHOD StopScriptTracing ( ' VTable offset = 16
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptTraceInfo_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IActiveScriptStringCompare
' IID = {58562769-ED52-42f7-8403-4963514E1F11}
' Inherited interface = IUnknown
' Undocumented.
' ########################################################################################
#IF NOT %DEF(%IActiveScriptStringCompare_INTERFACE_DEFINED)
 %IActiveScriptStringCompare_INTERFACE_DEFINED = 1
INTERFACE IActiveScriptStringCompare $IID_IActiveScriptStringCompare
 INHERIT IUnknown
 ' =====================================================================================
 METHOD StrComp ( ' VTable offset = 12
 BYVAL bszStr1 AS WSTRING
 , BYVAL bszStr2 AS WSTRING
 , BYREF iRet AS LONG
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IActiveScriptStringCompare_INTERFACE_DEFINED__ */
#ENDIF
