See http://support.microsoft.com/kb/285999 and http://support.microsoft.com/kb/199343 for a fully detailed, step-by-step procedure for creating and installing Microsoft Outlook E-mail Client Extensions. The example provided in knowledge base article 285999 was written for an outdated Visual Studio C++ compiler, but it can be used with newer compilers. The installation requirements detailed in knowledge base article 199343 can be applied to every major version of Microsoft Outlook.
During initialization, the Microsoft Outlook e-mail client will load and call the exported function, ExchEntryPoint, of every Dynamic Link Library registered as a client extension. ExchEntryPoint must instantiate a class based on IExchExt. Once Outlook has instantiated this derived class, it will call the Install member function once for each possible client extension event. Returning S_OK from the Install member function will signal to Outlook that the extension is prepared to handle, and wishes to receive, notifications for this event.
To receive messages, the class instantiated from ExchEntryPoint must contain a class based on IExchExtMessageEvents. This is where individual messages will be sent when registered events are triggered. Of the eight member functions required by the IExchExtMessageEvents interface, only OnSubmit, OnSubmitComplete, and OnWriteComplete are used for the example provided in this chapter.
The client extension detailed in this chapter has been simplified to contain only eight files. Of these eight files, six files are skeletal, while only two files contain the implementation of the Microsoft Outlook client extension.
The two implementation files are as follows:
OutlookExtension.cpp–Implementation source code
OutlookExtension.h–Support header for the implementation file
The six skeletal files are as follows:
EXCHEXT.H–The Microsoft header file required by client extensions
Stdafx.cpp–Created by Visual Studio to include stdafx.h
Stdafx.h–Created by Visual Studio to define headers and compile options
OutlookExtension.dsp–Visual Studio project file
OutlookExtension.dsw–Visual Studio workspace file
Readme.txt–Created by Visual Studio to define the project architecture
These skeletal files are not detailed in this chapter.