IInterfaceDef Interface

See Also

The properties, methods, and collections that a class implements are organized into functionally related groups. Each group is implemented as a COM interface. The properties, methods, and collections of each interface are members of the interface. An interface definition is the template to which an 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:

Properties

Property Description
Flags 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 the Repository that expose this interface.

Collections

Collection Description
Ancestor The collection of one base interface from which this interface derives.
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.