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