Transactional Managered Publisher Does Not Fire Loosely Coupled Event (LCE) (317276)



The information in this article applies to:

  • Microsoft COM+ 1.0, when used with:
    • the operating system: Microsoft Windows 2000

This article was previously published under Q317276

SYMPTOMS

If subscribers subscribe to all methods of an unmanagered event class, and if the publisher calls the unmanagered event class, the publisher may receive the following error message:
System.Runtime.InteropServices.ComException(0x80040201)
"An event was unable to invoke any of its subscribers" exception thrown.
Additionally, the publisher may receive a DISP_E_UNKNOWNNAME error.

The following system event log is logged at the same time:
Event Type:     Warning
Event Source:   EventSystem
Event Category: Firing Agent
Event ID:       4098
Date:           9/6/2001
Time:           10:17:07 AM
User:           N/A
Computer:       ComputerName

Description:
The COM+ Event System failed to fire the GetObjectIdentity method
on subscription {E8ABC579-F891-4169-95A5-9F49DC6648A5}. 
The subscriber returned HRESULT 80020006.
					

CAUSE

When an event class is created in unmanagered code and is passed to the managed code, Interop obtains this event class and prepares the event class for management services. This includes calling the QueryInterface method on the IManagedObject interface and then calling the GetObjectIdentity function. As a result, the IDispatch interface is checked for the GetObjectIdentity function. Because GetObjectIdentity does not exist in an unmanagered event class, Interop returns a DISP_E_UNKNOWNNAME error to the publisher.

RESOLUTION

To resolve this problem, obtain Microsoft COM+ Hotfix Rollup 18.1. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

313582 INFO: Availability of Windows 2000 Post-Service Pack 2 COM+ Hotfix Rollup Package 18.1

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 3.

Modification Type:MajorLast Reviewed:6/5/2003
Keywords:kbbug kbfix kbWin2000PreSP3Fix kbWin2000sp3fix KB317276