BEGIN_COM_MAP

BEGIN_COM_MAP( x )

Parameters

x

[in] The name of the class object you are exposing interfaces on.

Remarks

The COM map is the mechanism that exposes interfaces on an object to a client through QueryInterface. CComObjectRootEx::InternalQueryInterface only returns pointers for interfaces in the COM map. Start your interface map with the BEGIN_COM_MAP macro, add entries for each of your interfaces with the COM_INTERFACE_ENTRY macro or one of its variants, and complete the map with the END_COM_MAP macro.

For example, from the ATL BEEPER sample:

BEGIN_COM_MAP(CBeeper)
   COM_INTERFACE_ENTRY(IDispatch)
   COM_INTERFACE_ENTRY(IBeeper)
   COM_INTERFACE_ENTRY_TEAR_OFF(IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP( )

See the ATL COMMAP sample for examples using the different types of COM map entry macros.

ATL Macros and Global Functions