FIX: COM+ Method Calls That Pass an Array of Objects Does Not Complete When You Use Late Binding (290504)



The information in this article applies to:

  • Microsoft COM+ 1.0

This article was previously published under Q290504

SYMPTOMS

If a COM+ component that is configured to run in a server package calls a method on another component in the same package using late binding and then passes an array of collections or an array of objects as a parameter, the method call to the secondary component fails. However, when you use early binding to make the same method call, the call succeeds.

This problem occurs when you use COM+ on Microsoft Windows 2000 and Windows 2000 Service Pack 1.

CAUSE

This problem occurs when COM+ marshalls ByRef SAFEARRAYs that contain interface pointers.

RESOLUTION

Support has now been added for walking, copying, and freeing ByRef SAFEARRAYs. 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


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 first corrected in Windows 2000 Service Pack 2.

Modification Type:MajorLast Reviewed:5/8/2002
Keywords:kbbug kbDSupport kberrmsg kbWin2000PreSP2Fix kbWin2000SP2Fix KB290504