다음을 통해 공유


이중 인터페이스 구현

이중 인터페이스에서 메서드의 기본 구현을 제공하는 IDispatchImpl 클래스를 사용하여 이중 인터페이스를 구현할 IDispatch 수 있습니다. 자세한 내용은 Implementing the IDispatch Interface을 참조하세요.

이 클래스를 사용하려면 다음을 수행합니다.

  • 형식 라이브러리에서 이중 인터페이스를 정의합니다.

  • 특수화 IDispatchImpl 에서 클래스를 파생합니다(인터페이스 및 형식 라이브러리에 대한 정보를 템플릿 인수로 전달).

  • COM 맵에 항목(또는 항목)을 추가하여 이중 인터페이스를 노출 QueryInterface합니다.

  • 클래스에서 인터페이스의 vtable 부분을 구현합니다.

  • 인터페이스 정의가 포함된 형식 라이브러리를 런타임에 개체에 사용할 수 있는지 확인합니다.

ATL 단순 개체 마법사

새 인터페이스와 새 클래스를 만들어 구현하려면 ATL 클래스 추가 대화 상자와 ATL 단순 개체 마법사사용할 수 있습니다.

인터페이스 구현 마법사

기존 인터페이스가 있는 경우 인터페이스 구현 마법사를 사용하여 필요한 기본 클래스, COM 맵 항목 및 기본 메서드 구현을 기존 클래스에 추가할 수 있습니다.

참고 항목

생성된 기본 클래스를 조정하여 형식 라이브러리의 주 및 부 버전 번호가 기본 클래스에 템플릿 인수로 전달되도록 해야 할 수 있습니다 IDispatchImpl . 인터페이스 구현 마법사는 형식 라이브러리 버전 번호를 확인하지 않습니다.

IDispatch 구현

해당 이중 인터페이스를 IDispatchImpl 설명하는 형식 라이브러리가 있는 한 기본 클래스를 사용하여 COM 맵에 적절한 항목을 지정하여(COM_INTERFACE_ENTRY2 또는 COM_INTERFACE_ENTRY_IID 매크로 사용) dispinterface의 구현을 제공할 수 있습니다. 예를 들어 이러한 방식으로 인터페이스를 IDispatch 구현하는 것은 매우 일반적입니다. ATL 단순 개체 마법사와 인터페이스 구현 마법사는 모두 이러한 방식으로 구현 IDispatch 하려고 한다고 가정하므로 맵에 적절한 항목을 추가합니다.

참고 항목

이중 인터페이스 및 ATL