The Microsoft Exchange client is an extensible program containing a number of interfaces that independent software vendors can use to extend or enhance its functionality. Two of those interfaces are implemented by Microsoft Exchange and called by extension objects. All the other interfaces for client extensibility are implemented by extension objects and are called by Microsoft Exchange. Both sets of interfaces are described in this chapter.
An extension object is an object that complies with the Microsoft Windows Component Object Model and implements a set of Microsoft Exchange interfaces. Some of the interfaces described in this chapter are optional, but if an extension object implements an interface, it must implement all the functions of that interface.
The IUnknown interface provides object management functions from the OLE 2 component object model. Since all extension objects inherit from this interface, all extension interfaces include the three IUnknown methods in addition to their own methods.
For more information on the IUnknown interface, see the OLE Programmer's Reference.