COM+ Objects

There are (or were) several types of COM+ objects supported by the AppWizard in prior versions of Visual Studio. The terminology gets confusing. Vague marketing terms map to items in the AppWizard with specific technical meaning. (FWIW, no one I knew at the time ever used these terms “correctly” anyway.)

We began the early ’90s in Win16 with OLE 2.0 and OLE Custom Controls. which sort of got redefined and renamed and COM ActiveX controls at around the time Win32 came onto the scene. In the late ’90s’, it got extended and rebranded again to COM+, sort of. (This might not be completely accurate, but it’s close enough and nobody cares anyway.) I put the list here under COM+ because it’s the high water mark for the technology, and also because I found this table in Inside COM+.

Because library APIs are written in stone, the product history is reflected in interface and function names.

Object Type Implemented Interfaces Description
Simple Object IUnknown A minimal COM+ object
Add-in Object IDSAddIn A Visual C++ extension object
Internet Explorer IObjectWithSite An object that works with Internet Object Explorer, but without a user interface
Active Server IDispatch An object that can work with Component Active Server Pages in Internet
MS Transaction Server Component IObjectControl An object designed to work with Server Component Microsoft Transaction Server
MMC SnapIn IComponent, IComponentData, ISnapinAbout A Microsoft Management Console snap-in object
Lite Control IPersistStreamInit, IOleControl, IOleObject, IOleInPlaceActiveObject, IViewObjectEx, IOleInPlaceObject- Windowless An object that supports the interfaces needed by Internet Explorer, including support for a user interface
Full Control All of the lite control interfaces, plus IPersistStorage, ISpecifyPropertyPages, IQuickActivate, IDataObject, IProvideClassInfo2 An object that supports the interfaces for all ActiveX control containers
Composite Control Same as full control A control that can host other controls
HTML Control All of the full control interfaces, plus IDispatch A control with DHTML functionality that displays an HTML Web page in its user interface
Lite HTML Control Same as lite control, plus IDispatch A control with DHTML functionality that displays an HTML Web page in its user interface but supports only the interfaces needed by Internet Explorer
Lite Composite Control Same as lite control A composite control that can host other controls but supports only the interfaces needed by Internet Explorer
Property Page IPropertyPage An object that implements a property page

References