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