Microsoft KB Archive/255733

= FIX: Calling IUnknown Across Computer Boundaries Causes Loss of Extended Error Information =

Article ID: 255733

Article Last Modified on 9/26/2005

-

APPLIES TO


 * Microsoft COM+ 1.0

-



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.



RESOLUTION
To 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.



STATUS
Microsoft 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.

Keywords: kberrmsg kbbug kbfix kbqfe kbhotfixserver KB255733

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.