Article ID: 276396 - Last Review: May 8, 2002 - Revision: 1.0

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

This article was previously published under Q276396
Expand all | Collapse all

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  (http://support.microsoft.com/kb/260910/EN-US/ ) 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.

APPLIES TO
  • Microsoft COM+ 1.0
Keywords: 
kbbug kbfix kbwin2000presp2fix KB276396
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations