IUccPropertyCollection.AddNamedProperty Method

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.

Adds a named property to the collection.

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

Syntax

'Declaration
Function AddNamedProperty ( _
    bstrPropertyName As String, _
    vValue As Object _
) As UccProperty
UccProperty AddNamedProperty (
    string bstrPropertyName,
    Object vValue
)
UccProperty^ AddNamedProperty (
    String^ bstrPropertyName, 
    Object^ vValue
)
UccProperty AddNamedProperty (
    String bstrPropertyName, 
    Object vValue
)
function AddNamedProperty (
    bstrPropertyName : String, 
    vValue : Object
) : UccProperty

Parameters

  • bstrPropertyName
    A value of the BSTR (string, for a .NET application) type. This specifies the name of the property to be added.
  • vValue
    A value of the VARIANT (object, for a .NET application) type. This specifies the value of the property to be added.

Return Value

A value of the IUccProperty** (IUccProperty, for a .NET application) type. This returns an instance of the property added to the collection.

Remarks

The required property name can include spaces and is treated as a key value. To get this new property out of the collection, calling code must provide the exact string used when the property was added to the property collection. A property name must be unique within a given property collection. If the property collection already holds a property of the specified name, AddNamedProperty returns a null value and a new property is not added.

The generic nature of vValue as an object means that a client can fill the value parameter with anything. As an example, a property collection item can contain another property collection. The Unified Communications audio/video related APIs takes advantage of this feature.

Win32 COM/C++ Syntax

HRESULT AddNamedProperty
(
   BSTR bstrPropertyName,
   VARIANT vValue,
   IUccProperty** ppProperty
);

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 example accepts a property collection, property name and property value. The example method uses the IsNamedPropertySet as exposed by the IUccReadOnlyPropertyCollection interface to determine whether a given property exists. If not the example adds a new property to the property collection. Finally, the new or pre-existing property is returned to calling code.

private UccProperty AddPropertyStringValue(
   IUccPropertyCollection pCollection, 
   string propertyName, 
   string stringValue)
{
   UccProperty returnValue = null;
   if (pCollection != null && pCollection.IsNamedPropertySet(propertyName) == false)
   {
      if (propertyName != null && stringValue != null)
      {
         returnValue = pCollection.AddNamedProperty(propertyName, stringValue as object);
      }
   }
   else
   {
      returnValue = pCollection.get_NamedProperty(propertyName);
   }
   return returnValue;
}

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

IUccPropertyCollection Interface
IUccPropertyCollection Members
Microsoft.Office.Interop.UccApi Namespace