public ActiveScriptWrapper32(string progID, WindowsScriptEngineFlags flags) { // ReSharper disable SuspiciousTypeConversion.Global pActiveScript = RawCOMHelpers.CreateInstance <IActiveScript>(progID); pActiveScriptParse = RawCOMHelpers.QueryInterface <IActiveScriptParse32>(pActiveScript); pActiveScriptDebug = RawCOMHelpers.QueryInterface <IActiveScriptDebug32>(pActiveScript); pActiveScriptGarbageCollector = RawCOMHelpers.QueryInterfaceNoThrow <IActiveScriptGarbageCollector>(pActiveScript); pDebugStackFrameSniffer = RawCOMHelpers.QueryInterface <IDebugStackFrameSnifferEx32>(pActiveScript); activeScript = (IActiveScript)Marshal.GetObjectForIUnknown(pActiveScript); activeScriptParse = (IActiveScriptParse32)activeScript; activeScriptDebug = (IActiveScriptDebug32)activeScript; activeScriptGarbageCollector = activeScript as IActiveScriptGarbageCollector; debugStackFrameSniffer = (IDebugStackFrameSnifferEx32)activeScript; if (flags.HasFlag(WindowsScriptEngineFlags.EnableStandardsMode)) { var activeScriptProperty = activeScript as IActiveScriptProperty; if (activeScriptProperty != null) { object name; activeScriptProperty.GetProperty(ScriptProp.Name, IntPtr.Zero, out name); if (Equals(name, "JScript")) { object value = ScriptLanguageVersion.Standards; activeScriptProperty.SetProperty(ScriptProp.InvokeVersioning, IntPtr.Zero, ref value); } } } // ReSharper restore SuspiciousTypeConversion.Global }
public ActiveScriptWrapper32(string progID) { pActiveScript = RawCOMHelpers.CreateInstance <IActiveScript>(progID); pActiveScriptParse = RawCOMHelpers.QueryInterface <IActiveScriptParse32>(pActiveScript); pActiveScriptDebug = RawCOMHelpers.QueryInterface <IActiveScriptDebug32>(pActiveScript); pActiveScriptGarbageCollector = RawCOMHelpers.QueryInterfaceNoThrow <IActiveScriptGarbageCollector>(pActiveScript); pDebugStackFrameSniffer = RawCOMHelpers.QueryInterface <IDebugStackFrameSnifferEx32>(pActiveScript); activeScript = (IActiveScript)Marshal.GetObjectForIUnknown(pActiveScript); activeScriptParse = (IActiveScriptParse32)activeScript; activeScriptDebug = (IActiveScriptDebug32)activeScript; activeScriptGarbageCollector = activeScript as IActiveScriptGarbageCollector; debugStackFrameSniffer = (IDebugStackFrameSnifferEx32)activeScript; }
public override void Close() { activeScript.Close(); debugStackFrameSniffer = null; activeScriptGarbageCollector = null; activeScriptDebug = null; activeScriptParse = null; activeScript = null; RawCOMHelpers.ReleaseAndEmpty(ref pDebugStackFrameSniffer); RawCOMHelpers.ReleaseAndEmpty(ref pActiveScriptGarbageCollector); RawCOMHelpers.ReleaseAndEmpty(ref pActiveScriptDebug); RawCOMHelpers.ReleaseAndEmpty(ref pActiveScriptParse); RawCOMHelpers.ReleaseAndEmpty(ref pActiveScript); }
public override void Close() { debugStackFrameSniffer = null; activeScriptGarbageCollector = null; activeScriptDebug = null; activeScriptParse = null; UnknownHelpers.ReleaseAndEmpty(ref pDebugStackFrameSniffer); UnknownHelpers.ReleaseAndEmpty(ref pActiveScriptGarbageCollector); UnknownHelpers.ReleaseAndEmpty(ref pActiveScriptDebug); UnknownHelpers.ReleaseAndEmpty(ref pActiveScriptParse); UnknownHelpers.ReleaseAndEmpty(ref pActiveScript); activeScript.Close(); Marshal.FinalReleaseComObject(activeScript); activeScript = null; }
public ActiveScriptWrapper32(string progID, WindowsScriptEngineFlags flags) { // ReSharper disable SuspiciousTypeConversion.Global pActiveScript = ActivationHelpers.CreateInstance <IActiveScript>(progID); pActiveScriptParse = UnknownHelpers.QueryInterface <IActiveScriptParse32>(pActiveScript); pActiveScriptDebug = UnknownHelpers.QueryInterface <IActiveScriptDebug32>(pActiveScript); pActiveScriptGarbageCollector = UnknownHelpers.QueryInterfaceNoThrow <IActiveScriptGarbageCollector>(pActiveScript); pDebugStackFrameSniffer = UnknownHelpers.QueryInterfaceNoThrow <IDebugStackFrameSnifferEx32>(pActiveScript); activeScript = (IActiveScript)Marshal.GetObjectForIUnknown(pActiveScript); activeScriptParse = (IActiveScriptParse32)activeScript; activeScriptDebug = (IActiveScriptDebug32)activeScript; activeScriptGarbageCollector = activeScript as IActiveScriptGarbageCollector; debugStackFrameSniffer = activeScript as IDebugStackFrameSnifferEx32; if (flags.HasFlag(WindowsScriptEngineFlags.EnableStandardsMode)) { if (activeScript is IActiveScriptProperty activeScriptProperty) { activeScriptProperty.GetProperty(ScriptProp.Name, IntPtr.Zero, out var name); if (Equals(name, "JScript")) { object value = ScriptLanguageVersion.Standards; activeScriptProperty.SetProperty(ScriptProp.InvokeVersioning, IntPtr.Zero, ref value); } } if (!flags.HasFlag(WindowsScriptEngineFlags.DoNotEnableVTablePatching) && MiscHelpers.IsX86InstructionSet()) { HostItem.EnableVTablePatching = true; } } // ReSharper restore SuspiciousTypeConversion.Global }
public ActiveScriptWrapper32(string progID) { pActiveScript = RawCOMHelpers.CreateInstance<IActiveScript>(progID); pActiveScriptParse = RawCOMHelpers.QueryInterface<IActiveScriptParse32>(pActiveScript); pActiveScriptDebug = RawCOMHelpers.QueryInterface<IActiveScriptDebug32>(pActiveScript); pActiveScriptGarbageCollector = RawCOMHelpers.QueryInterfaceNoThrow<IActiveScriptGarbageCollector>(pActiveScript); pDebugStackFrameSniffer = RawCOMHelpers.QueryInterface<IDebugStackFrameSnifferEx32>(pActiveScript); activeScript = (IActiveScript)Marshal.GetObjectForIUnknown(pActiveScript); activeScriptParse = (IActiveScriptParse32)activeScript; activeScriptDebug = (IActiveScriptDebug32)activeScript; activeScriptGarbageCollector = activeScript as IActiveScriptGarbageCollector; debugStackFrameSniffer = (IDebugStackFrameSnifferEx32)activeScript; }
public ActiveScriptWrapper32(string progID, WindowsScriptEngineFlags flags) { pActiveScript = RawCOMHelpers.CreateInstance<IActiveScript>(progID); pActiveScriptParse = RawCOMHelpers.QueryInterface<IActiveScriptParse32>(pActiveScript); pActiveScriptDebug = RawCOMHelpers.QueryInterface<IActiveScriptDebug32>(pActiveScript); pActiveScriptGarbageCollector = RawCOMHelpers.QueryInterfaceNoThrow<IActiveScriptGarbageCollector>(pActiveScript); pDebugStackFrameSniffer = RawCOMHelpers.QueryInterface<IDebugStackFrameSnifferEx32>(pActiveScript); activeScript = (IActiveScript)Marshal.GetObjectForIUnknown(pActiveScript); activeScriptParse = (IActiveScriptParse32)activeScript; activeScriptDebug = (IActiveScriptDebug32)activeScript; activeScriptGarbageCollector = activeScript as IActiveScriptGarbageCollector; debugStackFrameSniffer = (IDebugStackFrameSnifferEx32)activeScript; if (flags.HasFlag(WindowsScriptEngineFlags.EnableStandardsMode)) { var activeScriptProperty = activeScript as IActiveScriptProperty; if (activeScriptProperty != null) { object name; activeScriptProperty.GetProperty(ScriptProp.Name, IntPtr.Zero, out name); if (Equals(name, "JScript")) { object value = ScriptLanguageVersion.Standards; activeScriptProperty.SetProperty(ScriptProp.InvokeVersioning, IntPtr.Zero, ref value); } } } }