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