Platform SDK: Exchange Server

Installing a Translation DLL

All translations are registered through the Windows NT Registry, in subkeys stored under the key HKEY_LOCAL_MACHINE\Software\Classes\MAPI Conversions.

The MAPI Conversions key has a subkey for each translation DLL. The DLL subkey name must be a relative name, so these DLLs must be installed in the SYSTEM32 directory of the machine running the gateway.

Each DLL key name contains a subkey for each conversion within the DLL. These subkeys represent the various HrGetExportVector entry points in a translation DLL that the conversion engine can use to load the conversion.

Each subkey has the following set of values.

Subkey Required Type Description
Classes Yes REG_MULTI_SZ Message Class strings supported by this entry point.
Point Yes REG_SZ Translation phase for this entry point.
Options No REG_SZ Options that will be passed to the entry point.

The sample gateway creates the following registry entries for the IPM_IN and IPM_OUT sample translation DLLs:

HKEY_LOCAL_MACHINE\Software\Classes\MAPI
    Conversions\ipm_in.dll\GetTrivialVector
        Classes = ENVELOPE.IPM REPORT.IPM
        Point = SAMPLEGW.INBOUND
        Options = 
HKEY_LOCAL_MACHINE\Software\Classes\MAPI     Conversions\ipm_out.dll\GetTrivialVector
        Classes = ENVELOPE.IPM REPORT.IPM
        Point = SAMPLEGW.OUTBOUND
        Options = 

The Point key is used if a translation DLL needs to be called at different phases of the messages transit through the gateway. For example, the conversion DLL might be called once with Point = STARTING, then again with Point = ENDING. See HrCnvQueryCapability for details.