Required Features for Address Book Providers

Address book providers can work with recipient information that is temporary or permanent, local or remote, understandable by one or more messaging systems, and formatted for a disk file or database table. There are a variety of features that an address book provider can implement, thereby adding value and improving interoperability with clients and other providers. However, a few features are required.

The following table describes features that are required of all address book providers and the steps that you need to take to implement them.

Feature How to implement

Session logon

  1. Implement an entry point function. For more information, see Implementing an Address Book Provider Entry Point Function.

  2. Implement the IABProvider::Logon method. For more information, see Implementing Address Book Provider Logon and Logoff.

Session logoff

Implement the IABProvider::Shutdown method. For more information, see Implementing Address Book Provider Logon and Logoff.

Create entry identifiers

Provide support for the PR_ENTRYID (PidTagEntryId) property. For more information, see MAPI Entry Identifiers and Address Book Identifiers.

Contribute to the status table

  1. Implement the appropriate methods of the IMAPIStatus : IMAPIProp interface. For more information, see Status Object Implementation.

  2. Support the required status table properties. For more information, see Status Tables.

  3. Call IMAPISupport::ModifyStatusRow.

Provide limited status object support

  1. Implement the IMAPIStatus::ValidateState method.

  2. Return MAPI_E_NO_SUPPORT from the other IMAPIStatus methods.

Support interactive and programmatic configuration

  1. Implement a message service entry point function.

  2. Implement a display table. For more information, see Display Tables and Display Table Implementation.

  3. Implement a property sheet or call the IMAPISupport::DoConfigPropsheet method. For more information, see Property Sheet Implementation.

In addition, if your provider supports recipient creation, you must supply a list of creation templates. Supply this list by implementing the IABLogon::GetOneOffTable method to include all of the templates supported by your provider and the IMAPIProp::OpenProperty method of each container to open the PR_CREATE_TEMPLATES (PidTagCreateTemplates) property and include all the templates supported by the container. For more information, see Implementing One-Off Tables.

Tags :


Page view tracker