Service providers can use the following two methods to open and compare objects belonging to their provider or to other providers:
Like IMAPISession::OpenEntry for clients, providers can use their support object's OpenEntry method to access any object as long they know the object's entry identifier. Unlike the session method, the support method requires that you specify a valid entry identifier in the lpEntryID parameter. It cannot be NULL.
To illustrate how a transport provider might use IMAPISupport::OpenEntry, consider the following scenario. The transport provider has received a message formatted in Rich Text Format and does not know if the target recipient can handle this format. Before delivering the message, the transport provider needs to:
The support object's OpenEntry method calls IMAPISession::OpenEntry to determine the address book provider responsible for the recipient.The session object then calls the appropriate address book provider's OpenEntry method to open the recipient and return an interface pointer to the transport provider.
If you have opened several objects from other providers, you may need to find out if two entry identifiers refer to the same object. For example, you may have a short-term entry identifier and a long-term entry identifier and these identifiers may or may not identify the same object. To avoid redundant processing, call the IMAPISupport::CompareEntryIDs method to compare these entry identifiers. You must use this method for entry identifier comparison because entry identifiers cannot be compared directly.