Setting Address Book Options

You can set three properties that describe options for using the address book:

PR_AB_SEARCH_PATH

PR_AB_DEFAULT_DIR

PR_AB_DEFAULT_PAB

The PR_AB_SEARCH_PATH property is used by IAddrBook::ResolveName to determine the containers to be involved in name resolution and the order that they should be involved. For each container in PR_AB_SEARCH_PATH, IAddrBook::ResolveName calls its IABContainer::ResolveNames method. Containers at the beginning of PR_AB_SEARCH_PATH are searched before containers at the end of PR_AB_SEARCH_PATH.

The search order in PR_AB_SEARCH_PATH is specified using an SRowSet structure, the same structure that is used to represent rows in a table. You can view the current search path by calling the IAddrBook::GetSearchPath method and change it by calling the IAddrBook::SetSearchPath method.

The PR_AB_DEFAULT_DIR property is the entry identifier of the address book container to be displayed initially when the address book is displayed. The default directory setting remains in effect until you change it by calling the IAddrBook::SetDefaultDir method. You can view the default directory by calling the IAddrBook::GetDefaultDir method.

The PR_AB_DEFAULT_PAB property is the entry identifier of the modifiable address book container that is to be used as the session's personal address book. Like PR_AB_DEFAULT_DIR, the value of PR_AB_DEFAULT_PAB remains in effect until it is changed. Logging off and logging back on do not affect their settings. Access the PR_AB_DEFAULT_PAB property by calling IAddrBook::GetPAB and change it by calling IAddrBook::SetPAB.

These three properties are special because you cannot work with them using the standard IMAPIProp methods. Instead, you must use IAddrBook methods. Because none of these properties can be changed with IMAPIProp::SetProps, there is no need to call IMAPIProp::SaveChanges to make changes permanent. Modifications made through the IAddrBook methods take effect immediately.