Brief Description of Some EDK Interfaces and Functions
Interfaces
The list of EDK interfaces is relatively short:
- IExchangeExportChanges - implements exporting of incremental changes from
an information store.
- IExchangeFavorites - can add to and delete folders from user's Favorites
folder.
- IExchangeFolderACLs - can handle public folder access control lists.
- IExchangeFolderRules - can handle public folder rules.
- IExchangeImportContentsChanges - implements incremental imports of
contents changes into an information store.
- IExchangeImportHierarchyChanges - implements incremental imports of
hierarchy changes into an information store.
- IExchangeManageStore - manages folders and mailboxes in an information
store.
- IExchangeModifyTable - implements access to Microsoft Exchange Server
table objects, such as public folder ACLs.
- IExchangeRuleAction, IExchangeRuleExt, and IExchangeRuleExtCallback
implement custom actions on messages.
Function Groups
- Functions that simplify some MAPI tasks, such as HrMAPICopyMessage,
HrMAPIDeleteMessage, HrMAPIFindFolderEx, HrMAPIFindInbox,
HrMAPICreateAddressList, HrMAPIAppendAddressList, HrMAPIFindMsgByProp,
HrMAPIWriteAttachmentToFile, etc.
- Installation and configuration functions such as DAPIGetSiteInfo,
HrEnumOrganizations, HrEnumSites, HrEnumContainers, HrCreateGatewayProfile,
HrGetServiceExecutableName, HrGetServiceSiteDN, HrInstallGateway, etc.
- Exchange Server Directory Access functions (DAPI) such as DAPIRead,
DAPIWrite, BatchExport, etc.
- Functions that help to back up and restore Exchange Server data, such as
HrBackupPrepare, HrBackupRead, etc.
- Gateway related functions such as HrGWLogon, GetGWMtsInFolder,
GetAddrBookPtr, GetGWDefaultStore, GetGWExchangeServerName, GetGWGal, etc.
- Functions that perform message conversions, such as HrConvConvert,
HrConvInitInstance, etc.
- Winwrap functions such as HrServiceGetArgv, HrServiceGetName, etc.
- Functions related to rules such as HrCopyActions, etc.
- Proxy address generation functions such as RcGenerateProxy,
RcValidateProxy, FreeProxy, CloseProxies, etc.
- Exchange Administrator extension functions to provide custom dialogs built
into Exchange Administrator such as ADMIN_Initialize and others.
- Miscellaneous functions, such as FHasAdminPrivs (determines whether a user
is an administrator), FIsPublicStore (determines whether information store
is public), FIsService (determines whether an application runs as a Windows
NT service), HrFindExchangeGlobalAddressList (finds Exchange GAL),
HrGetMailboxDN (obtains distinguished name for mailbox), HrGetPropTagName
(obtains property tag name as a string), HrSendProgManCommand (sends
commands to Program Manager), HrRTFCompressesToText (converts message body
form compressed RTF to ANSI text), etc.
It is difficult to overestimate value of EDK for Exchange server developers. It
would be a good idea for any Exchange developer to spend a few days browsing
through the list of available functionality. It is likely that raw MAPI tasks
that you are trying to address in your application had been already addressed in
EDK. A few days spend on EDK research may easily save weeks of development
efforts.