FIX: Memory Leak When You Use the Global Interface Table from COM+ Pooled Object (276396)



The information in this article applies to:

  • Microsoft COM+ 1.0

This article was previously published under Q276396

SYMPTOMS

A component that is configured in COM+ holds an interface to an out-of-process, unconfigured Component Object Model (COM) object. The interface is held in the global interface table (GIT) and is not shared by other instances of the COM+ component (for example, the GIT cookie is not shared with other instances). On the first method call to the COM+ component, the out-of-process COM object is created with the CoCreateInstance function and placed in the GIT with the RegisterInterfaceInGlobal method.

On each method call (including the first call), the interface to the out-of-process component is extracted from the GIT through GetInterfaceFromGlobal. If the COM+ component is configured to "Enable object pooling", the Dllhost.exe for the component leaks approximately 80 bytes for each method call. If the COM+ component does not "Enable object pooling", Dllhost.exe does not leak.

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

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 kbWin2000PreSP2Fix kbWin2000SP2Fix KB276396