PRB: InterruptScriptThread Causes Invalid Page Fault in OLEAUT32 (182946)
The information in this article applies to:
- Microsoft Visual C++, 32-bit Enterprise Edition 5.0
- Microsoft Visual C++, 32-bit Professional Edition 5.0
This article was previously published under Q182946 SYMPTOMS
When you try to interrupt a running script thread with
IActiveScript::InterruptScriptThread(), you receive one of the
following errors:
<Program> caused an invalid page fault in module OLEAUT32.DLL at 0137:65347989
Access violation in OLEAUT32.DLL
CAUSE
The documentation for the IActiveScript::InterruptScriptThread() method indicates that you should pass the address of an EXCEPINFO structure as the second parameter. However, it fails to mention that this structure must be initialized because InterruptScriptThread will try to use information stored in the EXCEPINFO structure.
RESOLUTION
To correct this problem, do one of the following two things:
- Pass NULL for the second argument, pexcepinfo, of
InterruptScriptThread(). Here's an example:
pActiveScript->InterruptScriptThread(SCRIPTTHREADID_BASE, NULL, 0);
- Initialize the EXCEPINFO structure before passing it to InterruptScriptThread(). Here's an example:
EXCEPINFO ex;
memset( &ex, 0, sizeof( EXCEPINFO ));
pActiveScript->InterruptScriptThread( SCRIPTTHREADID_BASE, &ex, 0 );
REFERENCES
Microsoft ActiveX 3.01 SDK; search on "ActiveX Scripting"
Modification Type: | Minor | Last Reviewed: | 3/21/2005 |
---|
Keywords: | kbcode kbdocerr kberrmsg kbprb KB182946 |
---|
|