Share via


AmbiguousNames Property

Topic Last Modified: 2006-06-13

A reference to an Addressees collection containing all addressees that match the ambiguous criteria used to resolve a particular addressee. This property is read-only.

Applies To

IAddressee Interface

Type Library

Microsoft CDO for Exchange 2000 Library

DLL Implemented In

CDOEX.DLL

Syntax

Property AmbiguousNames As IAddressees
HRESULT get_AmbiguousNames(IAddressees** pVal);

Parameters

Remarks

When you attempt to resolve an addressee to a LDAP object using DisplayName Property only, there may be more than one object in the directory that matches the name. In such cases, an AmbiguousNames collection is populated with each object that matches the ambiguous criteria. For example, you may set the DisplayName Property to "Run Liu" and call CheckName Method. There may be three directory objects that match this display name. In this case, the ResolvedStatus Property would be equal to the CdoResolvedStatus Enum (2) enumerated value, and the IAddressee.AmbiguousNames collection would contain three Addressee objects. You could then use this information with an interactive user, prompting them to select the intended addressee from the list of the addressees.

Example

<Job id="resolveaddressee">

<reference object="cdo.message"/>
<reference object="adodb.connection"/>

<script language="VBScript">

Dim iPer
Set iPer = getCurrentPersonObject_ro

Wscript.Echo "User E-Mail Address:"
wscript.echo iPer.Email

WScript.Echo "User Mailbox folder URL: "
Wscript.Echo iPer.GetInterface("IMailbox").BaseFolder


Function getCurrentPersonObject_ro()

 Dim Info
 Set Info   = CreateObject("ADSystemInfo")
 Dim InfoNT
 Set InfoNT = CreateObject("WinNTSystemInfo")
 Dim iPer
 Set iPer   = CreateObject("CDO.Person")
 Dim iAddr
 Dim iAddr2
 Set iAddr  = CreateObject("CDO.Addressee")

 iAddr.EmailAddress = LCase(InfoNT.UserName) & "@" & Info.DomainDNSName

 ' Search by binding to an LDAP server in current domain.
 If Not iAddr.CheckName("LDAP://" & Info.DomainDNSName) Then
  ' Handle Ambiguous names here
   For Each iAddr2 in iAddr.AmbiguousNames
     wscript.echo iAddr2.DisplayName
     wscript.echo iAddr2.EmailAddress
 Else

  ' Note that this is for illustration purposes only as
  ' We already have the server-less LDAP URL to the current user:
  ' "LDAP://" & Info.UserName
  ' Or,
  ' "LDAP://" & Info.DomainDNSName & "/" & Info.UserName

  Wscript.Echo "LDAP://" & Info.DomainDNSName & "/" & Info.UserName
  Wscript.Echo iAddr.DirURL

  iPer.DataSource.Open iAddr.DirURL
 End If

 Set getCurrentPersonObject_ro = iPer

End Function
</script>
</Job>