Design Considerations for ActiveX Objects
When you expose objects to Automation, you need to decide which interfaces to implement and how to organize your objects. You should also create a type library. This section provides information to guide you in designing an Automation application.
In this section
Topic | Description |
---|---|
Creating the Programmable Interface |
An object's programmable interface comprises the properties, methods, and events that it defines. |
Creating the IUnknown Interface |
The IUnknown interface defines three member functions that must be implemented for each object that is exposed. |
Creating the IDispatch Interface |
The IDispatch interface provides a late-bound mechanism to access and retrieve information about an object's methods and properties. |
Implementing Dual Interfaces |
It is recommended that you implement dual interfaces because of the advantages in doing so. |
Registering Interfaces |
Applications that add interfaces need to register the interfaces so OLE can find the appropriate remoting code for interprocess communication. |
Creating Class Identifiers |
CLSIDs are universally unique identifiers (UUIDs, also called globally unique identifiers, or GUIDs) that identify class objects to OLE. |
Passing Formatted Data |
When handling formatted data, the application should pass an object that implements the OLE IDataObject interface. |
Implementing the IEnumVARIANT Interface |
Automation defines the IEnumVARIANT interface to provide a standard way for ActiveX clients to iterate over collection objects. |
Implementing the _NewEnum Property |
The _NewEnum property identifies an object as supporting iteration through the IEnumVARIANT interface. |