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:
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.
Use the IAnnotationalProps interface to access the annotational properties of a repository object or relationship.
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. |
Annotational properties are maintained by Microsoft® 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, 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.