Platform SDK: Exchange Server

About the IExchangeEventHandler Interface

Every agent must implement the IExchangeEventHandler interface in its object.

IExchangeEventHandler IDL Definition

[
 object, 
 uuid(69e54156-b371-11d0-bcd9-00aa00c1ab1c),
 oleautomation,
 pointer_default(unique)
]
IExchangeEventHandler : IUnknown {
    HRESULT ExecuteEvent( [in] IDispatch* pEventSource);
};

The IEventSource interface is passed as the [in] parameter pEventSource to your implementation of this interface. Its IDL definition follows:

IEventSource IDL Definition

[
  object,
  uuid(69e54152-b371-11d0-bcd9-00aa00c1ab1c),
  oleautomation,
  pointer_default(unique)
]

IEventSource : IUnknown {

 [propget] Source([out,retval] IUnknown** pSource);
 [propput] Source([in] IUnknown* Source);

 [propget] SourceID([out,retval] BSTR* pSourceID);
 [propput] SourceID([in] BSTR SourceID);

 [propget] MessageID([out,retval] BSTR* pMessageID);
 [propput] MessageID([in] BSTR MessageID);

 [propget] Session([out,retval] IUnknown** pSession); 
 [propput] Session([in] IUnknown* Session);

 [propget] EventType([out,retval] DWORD* pEventType); 
 [propput] EventType([in] DWORD EventType);
 
 [propget] Response([out,retval] VARIANT* pResponse); 
 [propput] Response([in] VARIANT Response);

 [propget] MaxExecutionTime([out,retval] DWORD* pMaxExecutionTime); 
 [propput] MaxExecutionTime([in] DWORD MaxExecutionTime);

};

Member Summary

Property Description
Source EventBinding object that contains the binding message. This object exposes the IBinding COM interface. The EventBinding object is provided by the Esconf.dll configuration COM component.
SourceID Entry identifier of the agent message in the EventConfig_<ServerName> folder
MessageID Entry identifier of the message that was changed, added, or deleted (NULL for timer events)
Session The MAPI session passed from the Microsoft Exchange Event Service
EventType The type of event that occurred (an integer enumeration: 0, 1, 2, or 3)
MaxExecutionTime Seconds of execution from beginning of agent execution until agent execution is terminated.
Response Put a string here to record the outcome of the agent's execution. The string is written to the event log. The type is VT_BSTR.