FIX: Calling IUnknown Across Computer Boundaries Causes Loss of Extended Error Information (255733)
The information in this article applies to:
This article was previously published under Q255733 SYMPTOMS
When you run a Visual Basic client, the Err.Description property has a value of 'Method "~" of object "~" failed' after a call to a remote object that supports extended error information fails.
When you run a C or C++ client, a call to GetErrorInfo to retrieve extended error information from a remote object returns S_FALSE after a call to IUnknown is made on the object.
CAUSE
The standard COM proxy-stub implementation is clearing extended error information that is associated with the logical thread when a call is made to the remote object through the IUnknown interface.
RESOLUTIONTo resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the
Microsoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
WORKAROUND
Visual Basic users can work around the problem by not using the Err.Raise mechanism to propagate extended error information back to the client.
C and C++ users can work around the problem by not using the ErrorInfo object to propagate extended error information back to the client.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was corrected in Windows 2000 Service Pack 1.
MORE INFORMATION
COM objects are said to support extended error information if they return error information through the IErrorInfo interface.
The problem only affects calls between remote computers.
Modification Type: | Minor | Last Reviewed: | 9/26/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbbug kberrmsg kbfix kbQFE KB255733 |
---|
|