Здійснення CComObjectRootEx

CComObjectRootEx має важливе значення — всі ATL об'єкти повинні мати один екземпляр CComObjectRootEx або CComObjectRoot в їх успадкування. CComObjectRootEx забезпечує механізм QueryInterface за промовчанням, на основі COM карта записи.

Через свою карту COM об'єкта інтерфейсів піддаються клієнт коли клієнт запитує для інтерфейсу. Запит здійснюється через CComObjectRootEx::InternalQueryInterface. InternalQueryInterface тільки ручками інтерфейсів COM карта таблиці.

Можна ввести інтерфейсів COM карта таблицю з COM_INTERFACE_ENTRY макросів, або один з її варіантів. Наприклад, наступні код з у BEEPER зразка входить інтерфейсів, IDispatch, IBeeperі ISupportErrorInfo в таблиці карта COM

BEGI&N_COM_MAP(CBeeper)
 nbsp; COM_INTERFACE_ENTRY(IDispatch)
   COM_INTERFACE_ENTRY(IBeeper)
   COM_INTERFACE_ENTRY_TEAR_OFF (IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP)

Index