IInterfaceDef Interface

Meta Data Services Programming

Meta Data Services Programming

IInterfaceDef Interface

The properties, methods, and collections that a class implements are organized into functionally related groups. Each group is implemented as a COM interface. Each COM interface that you create can have members consisting of properties, methods, and collections. An interface definition is the template to which that interface conforms.

To add a new interface to the repository, use the IClassDef interface or the IReposTypeLib interface.

When to Use

Use the IInterfaceDef interface to:

  • Retrieve or modify properties of an interface definition.

  • Determine which members are attached to an interface definition.

  • Determine which classes implement an interface.

  • Determine the base interface from which an interface derives.

  • Determine which interfaces derive from a particular interface.

  • Determine which repository objects expose a particular interface.

  • Add a new property, method, or collection type to an interface definition.
Properties
Property Description
Flags The flags that specify whether the interface is extensible, and whether the interface should be visible to Automation interface queries.
InterfaceID The global interface identifier for the interface.
TableName The name of the SQL table that is used to store instance information for the properties of the interface.

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.

IInterfaceDef method Description
CreateMethodDef Creates a new method definition, and attaches it to the interface definition.
CreatePropertyDef Creates a new property definition, and attaches it to the interface definition.
CreateRelationshipColDef Creates a relationship collection type. The collection type is attached to the interface definition.
ObjectInstances Materializes an IObjectCol interface pointer for the collection of all objects in a repository that expose this interface.

Collections
Collection Description
Ancestor The collection of one base interface from which this interface inherits.
Classes The collection of classes that implement the interface.
Descendants The collection of other interfaces that derive from this interface.
Members The collection of members that are attached to the interface definition.

See Also

IClassDef Interface

IInterfaceDef Interface

IReposTypeLib Interface