About: Exchange Store Sinks
API Interface: COM interface implementation hosted in COM+.
Business Logic: Store sink interfaces do not add or enhance business logic, see ExOLEDB or CDO for Exchange (CDOEX).
Language Support: All COM compatible languages including .NET.
Direct Property Access: Item access performed by ExOLEDB or CDO for Exchange (CDOEX).
Product Versions: Exchange 2000, 2003, and 2007.
Summary :
Exchange Store Sinks are primarily used to capture save and delete events in the Exchange Store either synchronously or asynchronously. There are also event interfaces for capturing system events. Developers create Store Sinks by implementing a specific COM interface according to the type of events they want to trap. The COM library the developer creates must be configured to run in COM+ and is then registered to a specific folder whose events the library will get notified of.
Points of Interest:
- There are three Store Sink event types synchronous, asynchronous, and system events.
- Store Sinks can be registered on a specific mailbox or public folder, they can also be registered recursively or store-wide to cover multiple folders.
- The setup process has two main steps: the COM library must be configured in COM+ to be hosted in dllhost.EXE and the Store Sink must be registered with a particular folder to receive events for.
- Store Sink were depreciated in Exchange 2007 - although they still work and are supported, we recommend that new development uses Exchange Web Services or Exchange REST.
- Store Sinks for Exchange 2007 must be compiled as 64-bit.
- Since these ran in process with Exchange they had the potential of crashing Exchange.
Further Reading:
OUTBOX: Introduction to Exchange Store Event Sinks Part 1
https://blogs.msdn.com/b/mstehle/archive/2006/01/17/514019.aspx
OUTBOX: Introduction to Exchange Store Event Sinks Part 2
https://blogs.msdn.com/b/mstehle/archive/2006/01/19/514881.aspx
Store Events
https://msdn.microsoft.com/en-us/library/ms879480(v=exchg.65).aspx
Exchange ADO
https://msdn.microsoft.com/en-us/library/aa123760.aspx
ExOLEDB
https://msdn.microsoft.com/en-us/library/ms876455(v=exchg.65).aspx
Consider the following for new development with Exchange 2007 and later:
About: Office 365 REST APIs for Exchange
https://blogs.msdn.com/b/webdav_101/archive/2015/05/18/about-365-rest-apis.aspx
Outlook Notifications REST API reference (preview)
https://msdn.microsoft.com/office/office365/APi/notify-rest-operations
About: Exchange Web Services (EWS)
https://blogs.msdn.com/b/webdav_101/archive/2015/05/03/getting-started-with-ews.aspx
Mailbox synchronization and EWS in Exchange
https://msdn.microsoft.com/en-us/library/office/dn440952(v=exchg.150).aspx
Notification subscriptions, mailbox events, and EWS in Exchange
https://msdn.microsoft.com/en-us/library/office/dn458791(v=exchg.150).aspx
Also see:
About: Messaging APIs
https://blogs.msdn.com/b/webdav_101/archive/2015/08/07/about-messaging-apis.aspx