Are you a world traveler? ZoneTick is a cool utility that'll help you stay in touch over multiple time zones!
 
Understanding General Concept  
Nik Okuntseff  MS Exchange Server Programming 

Understanding General Concept

The general idea behind Administrator extensions is quite simple - to provide a way to extend the functionality of MS Exchange Administrator program. This program presents a tree-like view on an Exchange organization and displays a collection of tabbed property pages associated with each item. There are a number of standard property pages associated with each object type. The concept of extensions means that each directory object may have additional (extended) custom property pages.

Each extension is a DLL that must export the ADMIN_Initialize function. This is the main entry point in an extension DLL - the work starts here. Exchange Administrator program calls this function, and a DLL must return a list of other functions that it supports. Below is the list of possible functions with comments:
 
 
Function Comment
ADMIN_Initialize  Mandatory DLL entry point. Called to obtain a list of other supported functions.
DeinstallExtensionProc Mandatory. Called to report that your object is being deleted.
InitSheetProc Mandatory. Called by Administrator for descriptions of custom property pages.
ShowPageProc Optional. Called once for each standard page to determine whether to display the page.
StartPageProc Optional. Tells which page to display first.
HasHelpProc Optional. Tells whether the page has an associated online Help file.
DoHelpProc Optional. Displays Help.
SaveDataProc Optional. Called when focus is switched to another page to validate and temporarily save data. Do not use SaveDataProc to save data permanently. Use the CommitDataProc instead. 
CommitDataProc Optional. Called when the OK or Apply button is pressed. Use this function to save data permanently.
DeinitSheetProc Mandatory. Called to indicate that the property sheer is about to be destroyed.
 
 

Typical Call Sequence

The following table illustrates typical call sequence when a user double-clicks on the object associated with extension DLL:
 
 
Exchange Administrator Program Extension DLL
Calls ADMIN_Initialize Returns a list of other supported functions.
Calls InitSheetProc Compiles and returns a list of extension data property pages.
Calls ShowPageProc once for each standard page Returns TRUE or FALSE depending on whether there is a need to display the page.
Calls StartPageProc Returns index of the page to be displayed first.
Sends a WM_INITDIALOG message to the property page DlgProc Initializes custom property page.
Calls HasHelpProc Returns TRUE or FALSE depending on whether extension supports online Help.
You may wish to refer to the "Administrator Program Extensions" subsection in Exchange Server Programmer's Reference for more details.
 
[ Contents | Home ]

Send comments and suggestions to niko@wrconsulting.com
Copyright © 1997-1998 by Nik Okuntseff