Article ID: 819575 - View products that this article applies to.
When you call the CoDisconnectObject function, an access violation may occur. The access violation may include the following call stack:
ChildEBP RetAddr 0339fe88 72e83904 ole32!CoDisconnectObject+0xa9 0339ff80 780060ce RPCClie!CClientInstance::ClientInstanceThreadProc+0x6e0 0339ffb4 77e787dd MSVCRT!_threadstartex+0x5f 0339ffec 00000000 KERNEL32!BaseThreadStart+0x52
How to obtain the hotfix
Windows 2000This issue is fixed in the Microsoft Windows 2000 Post-Service Pack 4 (SP4) COM+ 1.0 Hotfix Package 27. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/822618/ )INFO: Availability of Windows 2000 Post-Service Pack 4 COM+ Hotfix Rollup Package 27
Windows XPThis issue is fixed in the Microsoft Windows XP COM+ Hotfix Rollup Package 9. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/895200/ )Availability of the Windows XP COM+ Hotfix Rollup Package 9
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.
The CoDisconnectObject function should not generate an access violation if there are still outstanding function calls on the objects that are disconnected. In this situation, CoDisconnectObject should return CO_E_OBJECTNOTCONNECTED instead so that any existing calls are permitted to finish, and any new calls will not be processed.
Article ID: 819575 - Last Review: December 5, 2007 - Revision: 4.3