These macros define COM interface maps.
| Marks the beginning of the COM interface map entries. | |
| Enters interfaces into the COM interface map. | |
| Use this macro to disambiguate two branches of inheritance. | |
| Use this macro to enter the interface into the COM map and specify its IID. | |
| Same as COM_INTERFACE_ENTRY2, except you can specify a different IID. | |
| When the interface identified by iid is queried for, COM_INTERFACE_ENTRY_AGGREGATE forwards to punk. | |
| Same as COM_INTERFACE_ENTRY_AGGREGATE, except that querying for any IID results in forwarding the query to punk. | |
| Same as COM_INTERFACE_ENTRY_AGGREGATE, except if punk is NULL, it automatically creates the aggregate described by the clsid. | |
| Same as COM_INTERFACE_ENTRY_AUTOAGGREGATE, except that querying for any IID results in forwarding the query to punk, and if punk is NULL, automatically creating the aggregate described by the clsid. | |
| Causes your program to call DebugBreak when the specified interface is queried for. | |
| Saves the interface-specific data for every instance. | |
| Exposes your tear-off interfaces. | |
| Processes the COM map of the base class when the processing reaches this entry in the COM map. | |
| A general mechanism for hooking into ATL's QueryInterface logic. | |
| Same as COM_INTERFACE_ENTRY_FUNC, except that querying for any IID results in a call to func. | |
| Returns E_NOINTERFACE and terminates COM map processing when the specified interface is queried for. | |
| Marks the end of the COM interface map entries. |