FIX: DLL that uses ATL CImage class may cause a deadlock in a process (322909)
The information in this article applies to:
- The Microsoft Active Template Library (ATL) 7.0, when used with:
- Microsoft Visual Studio .NET (2002), Enterprise Architect Edition
- Microsoft Visual Studio .NET (2002), Enterprise Developer Edition
- Microsoft Visual Studio .NET (2002), Professional Edition
- Microsoft Visual Studio .NET (2002), Academic Edition
This article was previously published under Q322909 SYMPTOMS A DLL that is using the Active Template Library (ATL) CImage class may cause a deadlock when it is unloaded from a process or
when the loading process shuts down. CAUSE This problem occurs because the CImage class initializes and then shuts down GDI+ by using the static
nested class CInitGDIPlus. This class initializes GDI+ before any CImage function that requires GDI+ is called. GDI+ is shut down by
calling GdiplusShutdown when the CInitGDIPlus class is destructed. CInitGDIPlus is a static class that is destructed in a DLL in the context of DllMain. The documentation states that you cannot call GdiplusShutdown in DllMain. RESOLUTIONService pack Information
To resolve this problem, obtain the latest service pack for Microsoft Visual Studio .NET. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
837234 List of bugs that are fixed in Visual Studio .NET 2002 Service Pack 1
Hotfix information
For more information about this hotfix, click the following article number to view the article in the Microsoft Knowledge Base:
326459
COleDateTime comparison asserts or returns incorrect value
STATUSMicrosoft
has confirmed that this is a problem in the Microsoft products that are listed
in the "Applies to" section of this article. This problem was first corrected in Visual Studio .NET
2002 Service Pack 1.
Modification Type: | Minor | Last Reviewed: | 9/27/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbvs2002sp1sweep kbvs2002sp1fix kbbug kbfix KB322909 kbAudDeveloper |
---|
|