3.1.4.2 Browsing an Address Book

After the hierarchy of containers is obtained and a single container is chosen by a messaging user, it is possible for the messaging user to browse the address list that is represented by the container.

When browsing an address list for an OAB, it is up to the messaging client to perform the lookups that are necessary to present a browsable view of the address list, by using the OAB Format and Schema Protocol, as specified in [MS-OXOAB].

When browsing an address list from an address book server, messaging clients use either the NspiQueryRows method, as specified in [MS-OXNSPI] section 3.1.4.1.8, or the QueryRows request type, as specified in [MS-OXCMAPIHTTP] section 2.2.5.12, to obtain a set of rows to display to the messaging user.<58> Messaging clients choose the properties they want to render, minimally they SHOULD request the PidTagEntryId property (section 2.2.3.2), the PidTagDisplayName property (section 2.2.3.1), the PidTagSmtpAddress property (section 2.2.3.21), and the PidTagTitle property (section 2.2.4.4), among other properties that the messaging client deems useful for displaying to the user.

It is possible to scroll to certain approximate positions in the address book view. When using NSPI, this is accomplished by modifying the STAT structure, which describes a table position, as specified in [MS-NSPI] and [MS-OXNSPI] section 2.2.8,<59> and then calling the NspiUpdateStat method, as specified in [MS-NSPI] and [MS-OXNSPI] section 3.1.4.1.4.<60> When using the Messaging Application Programming Interface (MAPI) Extensions for HTTP protocol, clients update the STAT structure using the UpdateStat request type, as specified in [MS-OXCMAPIHTTP] section 2.2.5.17.<61> Messaging clients follow up by using either the NspiQueryRows method, as specified in [MS-NSPI] and [MS-OXNSPI] section 3.1.4.1.8,  or the QueryRows request type, as specified in [MS-OXCMAPIHTTP] section 2.2.5.12, to display rows starting at the new position.<62>

It is possible for the user to type a particular name and have the address list view scroll to the first display name typed, like a Rolodex. When using NSPI, this is accomplished through the NspiSeekEntries method, as specified in [MS-NSPI] and [MS-OXNSPI] section 3.1.4.1.9. When using the Messaging Application Programming Interface (MAPI) Extensions for HTTP protocol, clients use the SeekEntries request type, as specified in [MS-OXCMAPIHTTP] section 2.2.5.16.<63> The result updates positioning information in the STAT structure, as specified in [MS-NSPI] and [MS-OXNSPI] section 2.2.8, and returns a screen full of Address Book objects.