During initialization, Lotus Notes will load and call the exported function, MainEntryPoint, of every Dynamic Link Library registered as a client extension. From MainEntryPoint, a Lotus Notes extension can register to receive notifications for more than 100 events. These events are defined in extmgr.h of the Lotus Notes C API (Application Program Interface).
The client extension detailed in this chapter registers to receive pre-send notification messages for every e-mail sent by Lotus Notes. Event registration must also provide the entry point for the exported function to be called when the event is triggered. The actual event is EM_MAILSENDNOTE + EM_REG_BEFORE. The actual function registered to be called when this event occurs is OnSendMail.
This client extension requires five implementation files and 16 Lotus files.
The five implementation files are as follows:
LotusExtension.c–Implementation source code
LotusExtension.h–Support header for implementation file
LotusExtension.def–Library definition file
Readme.txt–Build and operational instructions
Following are the 16 Lotus files:
The files provided by Lotus are not detailed in this chapter, but I recommend looking at extmgr.h. This file will give you a good idea of the capabilities that can be included in Lotus Notes client extensions.
The Lotus files itemized above represent a minimal subset of the files provided with the Lotus Notes C API. The full API contains additional link libraries and included files for various target environments. You can download this API from the following:
Make sure you get the C API for Windows XP and 2000.
You will be required to register before downloading, so be prepared to provide personal information in exchange for the API.