IAnnotationalProps Interface

See Also

Annotational properties are Repository properties that can be associated with individual Repository objects or relationships. When a normal property is defined as a member of a Repository interface, it is defined for all objects that implement that interface. Normal properties cannot be associated with Repository relationships.

In order to be able to attach an annotational property value to a particular Repository object, two requirements must be met:

  1. The object must conform to an object class that exposes the IAnnotationalProps interface.

  2. A property definition object must exist for an IAnnotationalProps interface property with a name that matches the name of your annotational property.

If these two requirements are met, you can attach an annotational property value to an object by using the IReposProperty::put_Value method to set the value of the annotational property for that particular object.

When to Use

Use the IAnnotationalProps interface to access the annotational properties of a Repository object or relationship.

Methods

IUnknown Method Description
QueryInterface Returns pointers to supported interfaces.
AddRef Increments the reference count.
Release Decrements the reference count.

IDispatch Method Description
GetIDsOfNames Maps a single member and a set of argument names to a corresponding set of dispatch identifiers.
GetTypeInfo Retrieves a type information object, which can be used to get the type information for an interface.
GetTypeInfoCount Retrieves the number of type information interfaces that an object provides (either 0 or 1).
Invoke Provides access to properties and methods exposed by an Automation object.

IRepositoryDispatch Method Description
get_Properties Retrieves the IReposProperties interface pointer. The IreposProperties interface provides access to the Properties collection.

Remarks

Annotational properties are maintained by the Repository as string data. The creator and users of the annotational property must get and set the property value using the appropriate data type through the VARIANT structure. If a data type other than string is used, the Repository will perform the appropriate data conversion.

Since all annotational properties in the Repository must be defined as interface members of the IAnnotationalProps interface, all annotational property names share the same name space. When you choose a name for an annotational property, make the name as specific and unique as possible.