BUG: Deadlock in multithreaded process if you use Declare statements for APIs in Visual Basic ActiveX .dll files or .ocx files (312218)
The information in this article applies to:
- Microsoft Visual Basic Enterprise Edition for Windows 6.0
This article was previously published under Q312218 SYMPTOMS If a multithreaded process hosts in-process Visual Basic
ActiveX components (.dll or .ocx files), the multithreaded process may
experience a deadlock or may stop responding (hang). Examples of
multithreaded processes include:
- Microsoft COM+ (Dllhost.exe)
- Microsoft Internet Information Server
(Inetinfo.exe)
- Microsoft Transaction Server (Mtx.exe)
CAUSE There are many causes for a deadlock in a multithreaded
process. One possible cause is the use of Visual Basic 6.0 ActiveX components
with Declare statements for application programming interfaces (APIs).
WORKAROUND To work around this problem, remove the Declare statements in the ActiveX .dll or .ocx projects, and use a type
library to declare those APIs instead.
For additional information
about how to create and use a type library, click the following article number to view the article in the Microsoft Knowledge Base:
189133
How to make C DLL more accessible to VB with a type library
STATUSMicrosoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.
Modification Type: | Major | Last Reviewed: | 6/8/2004 |
---|
Keywords: | kbbug kbnofix KB312218 |
---|
|