IProvideClassInfo 사용
연결 가능한 개체는 IProvideClassInfo 및 IProvideClassInfo2 인터페이스를 제공하여 클라이언트가 형식 정보를 쉽게 검사할 수 있도록 할 수 있습니다. 이 기능은 나가는 인터페이스를 처리할 때 중요합니다. 이 인터페이스는 정의에 따라 개체에 의해 정의되지만 자체 싱크 개체에서 클라이언트에 의해 구현됩니다. 경우에 따라 컴파일 시 연결 가능한 개체와 싱크 개체 모두에 나가는 인터페이스를 알 수 있습니다. IPropertyNotifySink의 경우와 같습니다.
그러나 다른 경우에는 연결 가능한 개체만 컴파일 시간에 나가는 인터페이스 정의를 알고 있습니다. 이러한 경우 클라이언트는 다음과 같이 올바른 진입점을 지원하는 싱크를 동적으로 제공할 수 있도록 나가는 인터페이스에 대한 형식 정보를 가져와야 합니다.
- 클라이언트는 연결점을 열거한 다음 연결 가능한 개체에서 지원하는 나가는 인터페이스의 IID를 가져오려면 각 연결 지점에 대해 IConnectionPoint::GetConnectionInterface 를 호출합니다.
- 클라이언트는 IProvideClassInfo 인터페이스 중 하나에 대해 연결 가능한 개체를 쿼리합니다.
- 클라이언트는 IProvideClassInfo 인터페이스에서 메서드를 호출하여 나가는 인터페이스에 대한 형식 정보를 가져옵니다.
- 클라이언트는 나가는 인터페이스를 지원하는 싱크 개체를 만듭니다.
- 프로세스가 계속되고 클라이언트가 IConnectionPoint::Advise 를 호출하여 싱크를 연결 지점에 연결합니다.
형식 정보에서 특성 원본은 coclass 아래에 나열된 인터페이스 또는 dispinterface를 나가는 인터페이스로 표시합니다. 이 특성 없이 나열된 인터페이스는 들어오는 인터페이스로 간주됩니다.
관련 항목