HOWTO: Specify Events for Exchange or Outlook Extensions

ID: Q181484

The information in this article applies to:

SUMMARY

This article describes how to specify contexts and events that client extensions should work with within the Exchange or Outlook clients.

MORE INFORMATION

The Exchange or Outlook clients must be aware of the extension. In order to make the Exchange or Outlook clients aware of an extension, the extension must have an entry in the system registry. This entry must appear in the following subkey:

   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Client\Extensions

A sample entry looks like this (NOTE: The text should be on one line):

   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Client\Extensions\]
    @=" " "Extension Name"="4.0;c:\\dirname\\extension name.dll;1"

The above text (if placed on one line) can be copied to a text file and saved with the extension .reg. This .reg file can then be used to register the extension. The effect this entry will have is that this extension will be called on all events that occur within the Exchange or Outlook clients. We can see this by the lack of context or interface mappings in this entry. Since none are specified, all events and contexts are used. For a complete breakdown of the context and interface mappings please see "Registering Extensions" in the Microsoft Platform Software Development Kit.

Some extensions may only need to run under certain contexts or in response to certain, but not all events. Events are matched with certain interfaces that the extension supports. For example, if an extension supports the IExchExtMessageEvents interface, the client needs to be aware of this. You specify this by turning on the 4th bit in the Interface Map section of the extension entry in the registry. A sample entry looks like this (NOTE: The text should be on one line):

   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Client\Extensions\ 
    @=" " "Extension Name"=
    "4.0;c:\\dirname\\extension name.dll;1;00000000000000;0001000"

This entry would indicate that the extension will be invoked under no contexts, and only in events that are associated with the IExchangeExtMessageEvents interface. Because this is the only interface or context the extension maps to, it will only be executed when an event associated with this interface occurs. The extension may or may not support all the methods in this interface. We can be assured that the methods that are implemented by the extension will be executed by the client when these events occur.

Keywords          : kbAPI kbEDK kbMsg EXCHEXT 
Version           : WINDOWS:4.0,5.0
Platform          : WINDOWS
Issue type        : kbhowto

Last Reviewed: February 25, 1998