Microsoft® Windows® Script Interfaces IActiveScript::InterruptScriptThread |
Language Reference Previous Next |
HRESULT InterruptScriptThread( SCRIPTTHREADID stidThread, // identifier of thread const EXCEPINFO *pexcepinfo, // receives error information DWORD dwFlags );
Interrupts the execution of a running script thread (an event sink, an immediate execution, or a macro invocation). This method can be used to terminate a script that is stuck (in an infinite loop, for example). It can be called from non-base threads without resulting in a non-base callout to host objects or to the IActiveScriptSite method.
Return Value | Meaning |
S_OK | Success. |
E_INVALIDARG | An argument was invalid. |
E_POINTER | An invalid pointer was specified. |
E_UNEXPECTED | The call was not expected (for example, the scripting engine has not yet been loaded or initialized). |
Value | Meaning |
SCRIPTTHREADID_ALL | All threads. The interrupt is applied to all script methods currently in progress. Note that unless the caller has requested that the script be disconnected, by calling the IActiveScript::SetScriptState method with the SCRIPTSTATE_DISCONNECTED or SCRIPTSTATE_INITIALIZED flag set, the next scripted event causes script code to run again. |
SCRIPTTHREADID_BASE | The base thread; that is, the thread in which the scripting engine was instantiated. |
SCRIPTTHREADID_CURRENT | The currently executing thread. |
Value | Meaning |
SCRIPTINTERRUPT_DEBUG | If supported, enter the scripting engine's debugger at the current script execution point. |
SCRIPTINTERRUPT_RAISEEXCEPTION | If supported by the scripting engine's language, let the script handle the exception. Otherwise, the script method is aborted and the error code is returned to the caller; that is, the event source or macro invoker. |