COM_INTERFACE_ENTRY_TEAR_OFF

 

Exposes your tear-off interfaces.

Syntax

COM_INTERFACE_ENTRY_TEAR_OFF( 
iid
, 
x
 )

Parameters

  • iid
    [in] The GUID of the tear-off interface.

  • x
    [in] The name of the class implementing the interface.

Remarks

A tear-off interface is implemented as a separate object that is instantiated every time the interface it represents is queried for. Typically, you build your interface as a tear-off if the interface is rarely used, since this saves a vtable pointer in every instance of your main object. The tear-off is deleted when its reference count becomes zero. The class implementing the tear-off should be derived from CComTearOffObjectBase and have its own COM map.

See COM_INTERFACE_ENTRY Macros for remarks about COM map entries.

Example

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

Requirements

Header: atlcom.h

See Also

COM Map Macros
ATL Macros