Using ActiveX Controls in Managed Code

ActiveX controls have always been one of the most misunderstood COM-based technologies. Microsoft didn't help the situation by changing the definition of what an ActiveX control is several times. The current definition of an ActiveX control is that it is a COM object that supports the IUnknown interface. ActiveX controls usually support many other interfaces, but all other interfaces should be viewed as optional and a container should not rely on these interfaces being supported.

However, to most people, an ActiveX control is a COM object that has a user interface and supports a special set of interfaces—IOleControl, IOleIn-PlaceObject, IDataObject, and so forth—that allow it to be hosted inside of (and ...

Get .NET and COM Interoperability Handbook, The now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.