Share via


IUccPresenceContactCardInstance.Addresses 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 addresses appearing in this contact card.

Namespace: Microsoft.Office.Interop.UccApi
Assembly: Microsoft.Office.Interop.UccApi (in microsoft.office.interop.uccapi.dll)

Syntax

'Declaration
ReadOnly Property Addresses As IUccCollection
IUccCollection Addresses { get; }
property IUccCollection^ Addresses {
    IUccCollection^ get ();
}
/** @property */
IUccCollection get_Addresses ()
function get Addresses () : IUccCollection

Property Value

A value of the IUccCollection** (IUccCollection, for a .NET application) type. Each element of the collection is an IUccPresenceContactCardAddress instance.

Remarks

The collection of IUccPresenceContactCardAddress can contain up to 4 items corresponding to the address types enumerated by UCC_CONTACT_CARD_ADDRESS_TYPE. If an address instance of a given type exists in the collection, calling AddAddress and passing an address instance of that type will replace the existing address rather than create a new address.

This property can return an empty collection. It is not required that a user publish any addresses.

Win32 COM/C++ Syntax

HRESULT get_Addresses
(
   IUccCollection** ppAddresses
);

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_ADDRESS_TYPE enumeration to determine the type of address represented by an individual address in the contact card address collection (pCard.Addresses) to update the StringBuilder instance with the correct address type label. Each address 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 addresses 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 GetAddresses(StringBuilder sb, IUccPresenceContactCardInstance pCard)
{
   if (pCard.Addresses.Count > 0)
   {
      foreach (IUccPresenceContactCardAddress address in pCard.Addresses)
      {
         sb.Append(System.Environment.NewLine);
         switch (address.Type)
         {
            case UCC_CONTACT_CARD_ADDRESS_TYPE.UCCCCAT_HOME:
               sb.Append("Home Address: " + address.StreetAddress);
               break;
            case UCC_CONTACT_CARD_ADDRESS_TYPE.UCCCCAT_OTHER:
               sb.Append("Other Address: " + address.StreetAddress);
               break;
            case UCC_CONTACT_CARD_ADDRESS_TYPE.UCCCCAT_UNKNOWN:
               sb.Append("Unknown Address: " + address.StreetAddress);
               break;
            case UCC_CONTACT_CARD_ADDRESS_TYPE.UCCCCAT_WORK:
               sb.Append("Work Address: " + address.StreetAddress);
               break;
         }
         sb.Append(System.Environment.NewLine);
         sb.Append("              " + address.City + ", ");
         sb.Append(address.State + " " + address.PostalCode + " " + address.Country);
      }
   }
   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