Causes the scripting engine to abandon any currently loaded script, lose its state, and release any interface pointers it has to other objects, thus entering a closed state. Event sinks, immediately executed script text, and macro invocations that are already in progress are completed before the state changes (use IActiveScript::InterruptScriptThread to cancel a running script thread). This method must be called by the creating host before the interface is released to prevent circular reference problems.
HRESULT Close(void);
Returns one of the following values:
Value  | Meaning  | 
|---|---|
S_OK  | Success.  | 
E_UNEXPECTED  | The call was not expected (for example, the scripting engine was already in the closed state).  | 
OLESCRIPT_S_PENDING  | The method was queued successfully, but the state has not changed yet. When the state changes, the site is to be called back on the IActiveScriptSite::OnStateChange method.  | 
S_FALSE  | The method succeeded, but the script has already been closed.  |