Required Interfaces for the Run-Time Object

The interfaces required for a run-time object depend on whether it presents a visual user interface. Like the visual designer, a visual run-time object must provide in-place activation capabilities. A nonvisual object, on the other hand, doesn't need these features.

The following table summarizes the functions of the run-time object.

Function

What you must do

Be an embedded object (required).

Implement IOleObject.

Provide a visual interface (optional).

Implement IOleInPlaceObject and IOleInPlaceActiveObject.

Supply type information (required).

Implement IProvideClassInfo or IProvideDynamicClassInfo.

Load persistent data (required).

Implement IPersistStorage, IPersistStream, or IpersistStreamInit.

Handle events (required).

Implement IconnectionPointContainer and IconnectionPoint.