IUccPresenceContactCardInstance.Phones 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.
Gets all the phone entries in this contact card.
Namespace: Microsoft.Office.Interop.UccApi
Assembly: Microsoft.Office.Interop.UccApi (in microsoft.office.interop.uccapi.dll)
Syntax
'Declaration
ReadOnly Property Phones As IUccCollection
IUccCollection Phones { get; }
property IUccCollection^ Phones {
IUccCollection^ get ();
}
/** @property */
IUccCollection get_Phones ()
function get Phones () : IUccCollection
Property Value
A value of the IUccCollection** (IUccCollection, for a .NET application) type. Each element of the returned collection is an IUccPresenceContactCardPhone instance.
Remarks
The collection of IUccPresenceContactCardPhone can contain up to 6 items corresponding to the phone types enumerated by UCC_CONTACT_CARD_PHONE_TYPE. If a phone instance of a given type exists in the collection, calling AddPhone and passing a phone instance of that type will replace the existing phone rather than create a new phone.
This property can return an empty collection. It is not required that a user publish any phones.
Win32 COM/C++ Syntax
HRESULT get_Phones
(
IUccCollection** ppPhones
);
Note
In a Win32 application, the return value of a method or property is always an HRESULT value indicating the status of the call to the interface member. Any result of the operation is returned as a parameter marked with the [out, retval] attribute. In contrast, in a .NET application the HRESULT value indicating an error condition is returned as a COM exception and the [out, retval] parameter becomes the return value. For the UCC API-defined HRESULT values, see Trace and Handle Errors in Unified Communications Client API.
Example
The following sample accepts a StringBuilder instance and an IUccPresenceContactCardInstance. The example uses the UCC_CONTACT_CARD_PHONE_TYPE enumeration to determine the type of phone represented by an individual phone number in the contact card phones collection (pCard.Phones
) to update the StringBuilder instance with the correct phone type label. Each phone in the collection is extracted and added to the StringBuilder instance and finally, the updated StringBuilder is returned to calling code.
/// <summary>
/// Returns an updated StringBuilder instance. contact card phones appended to
/// existing string builder content
/// </summary>
/// <param name="sb">StringBuilder to update</param>
/// <param name="pCard">IuccPresenceContactCardInstance containing phones</param>
/// <returns>updated StringBuilder instance</returns>
private StringBuilder GetPhones(StringBuilder sb, IUccPresenceContactCardInstance pCard)
{
if (pCard.Phones.Count > 0)
{
foreach (IUccPresenceContactCardPhone phone in pCard.Phones)
{
sb.Append(System.Environment.NewLine);
switch (phone.Type)
{
case UCC_CONTACT_CARD_PHONE_TYPE.UCCCCPT_WORK:
sb.Append("Work Phone: " + phone.Url);
break;
case UCC_CONTACT_CARD_PHONE_TYPE.UCCCCPT_FAX:
sb.Append("Fax Phone: " + phone.Url);
break;
case UCC_CONTACT_CARD_PHONE_TYPE.UCCCCPT_HOME:
sb.Append("Home Phone: " + phone.Url);
break;
case UCC_CONTACT_CARD_PHONE_TYPE.UCCCCPT_MOBILE:
sb.Append("Mobile Phone: " + phone.Url);
break;
case UCC_CONTACT_CARD_PHONE_TYPE.UCCCCPT_OTHER:
sb.Append("Other Phone: " + phone.Url);
break;
case UCC_CONTACT_CARD_PHONE_TYPE.UCCCCPT_UNKNOWN:
sb.Append("Unknown Phone: " + phone.Url);
break;
}
}
}
return sb;
}
Thread Safety
All public static (Shared in Visual Basic) members of this type are thread-safe. Instance members are not guaranteed to be thread-safe.
Platforms
Development Platforms
Windows XP Professional with Service Pack 2 (SP2), Windows Server 2000 with Service Pack 4, Windows Server 2003, Windows Vista Ultimate Edition, Windows Vista Business Edition, Windows Vista Enterprise Edition
Target Platforms
See Also
Reference
IUccPresenceContactCardInstance Interface
IUccPresenceContactCardInstance Members
Microsoft.Office.Interop.UccApi Namespace