Using the Address Lookup Functions

The Microsoft Exchange Server SDK provides functions that convert between foreign addresses and native Microsoft Exchange Server addresses. These functions are based on the standard MAPI methods IAddrBook::PrepareRecipients and IABContainer::ResolveNames, applied to the Microsoft Exchange Server global address list.

Address Lookup Functions from the Microsoft Exchange Server SDK

Function Action When called
HrFindExchangeGlobalAddressList Returns the entry identifier of the global address list (GAL) container in the address book. The MAPI OpenEntry method is then used to open the GAL. As the gateway starts.
HrGWResolveAddress (based on IABContainer::ResolveNames) Converts a recipient’s proxy address into the entry identifier for a Microsoft Exchange Server recipient, by looking up the proxy address in the GAL. For addresses in incoming messages to Microsoft Exchange Server.
HrGWResolveProxy (based on IAddrBook::PrepareRecipients) Looks up a recipient’s proxy address. For addresses in outgoing messages from Microsoft Exchange Server.

For outgoing messages, gateways call the HrGWResolveProxy function to convert all the native Microsoft Exchange Server addresses in a message into their corresponding proxy addresses for the foreign system that the gateway serves. For incoming messages, gateways call HrGWResolveAddress to convert the proxy addresses in the message into native Microsoft Exchange Server addresses. Both of these functions reference the native Microsoft Exchange Server addresses with the MAPI entry identifiers for those addresses.

The LOOKUP sample application illustrates simple address mapping using the address lookup functions.