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.