CComObjectRootEx 구현

CComObjectRootEx 는 필수 요소입니다. 모든 ATL 개체의 상속에는 하나의 인스턴스 CComObjectRootEx 또는 CComObjectRoot 가 있어야 합니다. CComObjectRootEx에서는 COM 맵 엔트리를 기반으로 하는 기본 QueryInterface 메커니즘을 제공합니다.

클라이언트가 인터페이스를 쿼리하면 COM 맵을 통해 개체의 인터페이스가 클라이언트에 표시됩니다. 쿼리는 CComObjectRootEx::InternalQueryInterface를 통해 수행됩니다. InternalQueryInterface에서는 COM 맵 테이블의 인터페이스만 처리됩니다.

COM_INTERFACE_ENTRY 매크로 또는 해당 변형 중 하나를 사용하여 COM 맵 테이블에 인터페이스를 입력할 수 있습니다. 예를 들어 다음 코드는 IDispatch, IBeeperISupportErrorInfo 인터페이스를 COM 맵 테이블에 입력합니다.

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

참고 항목

ATL COM 개체 기본 사항
COM 맵 매크로