A type of COM
component that can self-register, also known as an "ActiveX control". All COM objects implement the "IUnknown" interface but an ActiveX control usually also implements some of the standard interfaces for embedding, user interface, methods, properties, events, and persistence.
ActiveX controls were originally called "OLE
Controls", and were required to provide all of these interfaces but that requirement was dropped, and the name changed, to make ActiveX controls lean enough to be downloaded as part of a web page.
Because ActiveX components can support the OLE embedding interfaces, they can be included in web pages. Because they are COM objects, they can be used from languages such as Visual Basic
, Visual C++
["Understanding ActiveX and OLE", David Chappell, MS Press, 1996].