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
Type Library
Microsoft CDO for Exchange 2000 Library
DLL Implemented In
CDOEX.DLL
Syntax
Property AmbiguousNames As IAddressees
HRESULT get_AmbiguousNames(IAddressees** pVal);
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>