IAnnotationalProps Interface

Meta Data Services Programming

Meta Data Services Programming

IAnnotationalProps Interface

Annotational properties are repository properties that can be associated with individual repository objects or relationships. Before an annotational property value can be attached to a repository object, two requirements must be met:

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

  • A property definition object must exist for an IAnnotationalProps interface property. The name of the property definition object must match the name of your annotational property.

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

When to Use

Annotational properties are not recommended. Support for annotational properties will not be included in future releases of the repository engine.

Version 3.0 of the repository engine still supports annotational properties. If you are already using annotational properties, you can 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 engine 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 engine performs the appropriate data conversion.

Because 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.

See Also

ClassDef Class

CollectionDef Class

InterfaceDef Class

IReposProperty::put_Value

MethodDef Class

PropertyDef Class

Relationship Class

RelationshipDef Class

ReposTypeLib Class

ReposRoot Class