AmbiguousNames Property
AmbiguousNames Property
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
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
[Visual Basic]Property AmbiguousNames As IAddressees
[C++]HRESULT get_AmbiguousNames(IAddressees** pVal);
Parameters
- pVal
Returned reference to an IAddressees Interface.
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 Next 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>
Send us your feedback about the Microsoft Exchange Server 2003 SDK.
Build: June 2007 (2007.618.1)
© 2003-2006 Microsoft Corporation. All rights reserved. Terms of use.