IInterfaceDef2 Interface

Meta Data Services Programming

Meta Data Services Programming

IInterfaceDef2 Interface

The IInterfaceDef2 interface inherits from IInterfaceDef. It helps you define implication between two interfaces in the form of "Interface I1 implies Interface I2," which means that any class that implements I1 also implements I2. There is a many-to-many relationship named Interface_Implies_Interface that relates multiple instances of IInterfaceDef2 to other instances of itself. Therefore, IInterfaceDef2 has two collections, Implies and ImpliedBy, which are the two sides of the relationship.

IInterfaceDef2 also provides the CreateAlias method, which adds an alias member to the interface definition.

When to use

Use the IInterfaceDef2 interface to:

  • Define implication between two interfaces.

  • Create and add alias members to the interface definition.
Properties
IInterfaceDef 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 a repository that expose this interface.

IInterfaceDef2 method Description
CreateAlias Adds an alias member to the interface definition

Collections
IInterfaceDef 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

IInterfaceDef2 collection Description
Implies The collection of one interface that implies other interfaces
ImpliedBy The collection of interfaces implied by another interface

See Also

IClassDef Interface

IInterfaceDef Interface

InterfaceDef Class

IReposTypeLib Interface