In this tutorial, creation of a basic Active X COM control is explained using
an example "System
Info Control ". The tutorial also shows how to use this control
in COM enabled packages such as VB 6.0 and VC++.
What is a COM? : Component Object Model (COM), is a software
architecture that allows the components made by different software vendors to be
combined into a variety of applications. COM defines a standard for component
interoperability (in binary level ), is not dependent on any particular
programming language, is available on multiple platforms, and is extensible. Two
main interfaces of COM and their importance are given below.
IUnknown: This is the interface every COM Object should implement. The
IUnknown interface lets clients get pointers to other interfaces on a
given object through the QueryInterface method, and manage the existence
of the object through the IUnknown::AddRef and IUnknown::Release
methods. All other COM interfaces are inherited, directly or indirectly, from IUnknown.
Therefore, the three methods in IUnknown are the first entries in the
VTable for every interface.
IDispatch : IDispatch interface exposes objects, methods and
properties to programming tools and other applications that support Automation.
COM components implement the IDispatch interface to enable access by
Automation clients, such as Visual Basic.
Please go through MSDN for more information about COM. Click on the appropriate link below to see the Video and the
source tutorials.
Creating ActiveX COM Controls using VC++ MFC and ATL