3.1.4.4 Performing Ambiguous Name Resolution

Messaging clients perform ambiguous name resolution (ANR) when a user is addressing a message and types only part of a name. The role of the address book in this case is to identify the best possible matches for the name entered, and if there is more than one good match, to present the list of possible Address Book objects to the user.

When performing ANR by using an offline address book (OAB), it is up to the messaging client to decide the best method for name matching among Address Book objects. The client is free to use any available means to determine good matches on any choice of properties by using the OAB Format and Schema Protocol, as specified in [MS-OXOAB].

When performing ANR by using an address book server, the client uses the NspiResolveNames method, as specified in [MS-NSPI] and [MS-OXNSPI] section 3.1.4.1.16,<73> or the NspiResolveNamesW method, as specified in [MS-NSPI] and [MS-OXNSPI] section 3.1.4.1.17, or the ResolveNames request type, as specified in [MS-OXCMAPIHTTP] section 2.2.5.14. The client passes the target string in the paStr parameter of the NspiResolveNames method, the paWStr parameter of the NspiResolveNamesW method, or the NameValues field of the ResolveNames request type.<74> If there is exactly one match, the row that corresponds to the target string will contain the properties that were requested for that match. If there is more than one match, it is possible to obtain the set of possible matches by using the NspiGetMatches method, as specified in [MS-NSPI] and [MS-OXNSPI] section 3.1.4.1.10, or the GetMatches request type, as specified in [MS-OXCMAPIHTTP] section 2.2.5.5, by using a Filter parameter with the PidTagAnr property and using the value for the PidTagAnr property as the target string for ANR.<75> The set of matches, along with the requested properties for the matches, will be returned. Messaging clients display the returned results in a dialog box, so the user is able to select the best match from the list of results.