CComObjectRootEx wykonawcze

Istotne jest CComObjectRootEx — wszystkie obiekty ATL muszą posiadać jedno wystąpienie CComObjectRootEx lub CComObjectRoot w ich dziedziczenie. CComObjectRootEx oferuje mechanizm QueryInterface domyślne na podstawie zapisów mapy COM.

Poprzez swoją mapę COM obiektu interfejsy są narażone na klienta, gdy klient wysyła kwerendy dla interfejsu. Kwerenda jest wykonywana przez CComObjectRootEx::InternalQueryInterface. InternalQueryInterface obsługuje tylko interfejsów w tabeli mapę COM.

Interfejsy mogą wejść w tabeli mapę COM z makra COM_INTERFACE_ENTRY lub jednego z jego odmianami. Na przykład następujący kod z BEEPER próbki wejścia interfejsy IDispatch, IBeeperi ISupportErrorInfo w tabeli mapę 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