Inside COM Maps
Macro BEGIN_COM_MAP adds methods to cache a COM interface pointer (i.e., the next request for the pointer will use the cached pointer),
a method to get
IUnknown is implemented in derived class
CComObject), and an interface map within the class.
Macro COM_INTERFACE_ENTRY places an interface and its IID into the interface map.
Macro END_COM_MAP delimits the end of the COM map.
Note: The implementation of these macros is slightly different in ATL 2.1 in Visual C++ 5.0 and ATL 3.0 in Visual C++ 6.
This difference is not visible to applications developers.