Platform SDK: Exchange Server |
Before implementing interfaces within an extension object, it is important to know the extension’s associated context or contexts. A context corresponds to a user interface, particular window, or a related set of windows, within the Microsoft Exchange client. For example, the search viewer is one context and the main viewer is another. Two exceptions, the first two described in the following chart, are the contexts that last the duration of a task or the duration of a session. Most extension objects are designed to operate only within a particular context or set of contexts, but some can operate in all contexts.
The following contexts are defined within the Microsoft Exchange client:
Extensions register their “interest” in one or more of these contexts by placing entries in the EXCHNG.INI file on 16-bit versions of Microsoft Windows or in the registry on 32-bit Windows NT or Windows 95. When an extension registers for a context, it means that events associated with this context will cause the extension to be notified of the event. For example, if an extension registers for the EECONTEXT_VIEWER context, and the user selects an object, such as a folder or message, in the Viewer window, the extension will be called by Microsoft Exchange to notify it of the event.
If an extension does not register in specific contexts, it will be loaded and prompted to install itself in all contexts. Since loading extensions may reduce the performance of the Microsoft Exchange client, it is strongly recommended that all extensions specifically include context information as part of their registration.
Note If the standard Compose Message or Compose New Post has been replaced by a custom form, extensions that are normally called from the standard Compose Message and Compose New Post will not be called unless the replacement IPM.Note form supports extensibility. This means that the form must do all the same work that the Microsoft Exchange client does when activating a form. Extensions are never called for message types other than the standard note, unless the form author has specifically put in calls to extensions.