다음을 통해 공유


IProvideClassInfo 사용

연결 가능한 개체는 IProvideClassInfoIProvideClassInfo2 인터페이스를 제공하여 클라이언트가 형식 정보를 쉽게 검사할 수 있도록 할 수 있습니다. 이 기능은 나가는 인터페이스를 처리할 때 중요합니다. 이 인터페이스는 정의에 따라 개체에 의해 정의되지만 자체 싱크 개체에서 클라이언트에 의해 구현됩니다. 경우에 따라 컴파일 시 연결 가능한 개체와 싱크 개체 모두에 나가는 인터페이스를 알 수 있습니다. IPropertyNotifySink의 경우와 같습니다.

그러나 다른 경우에는 연결 가능한 개체만 컴파일 시간에 나가는 인터페이스 정의를 알고 있습니다. 이러한 경우 클라이언트는 다음과 같이 올바른 진입점을 지원하는 싱크를 동적으로 제공할 수 있도록 나가는 인터페이스에 대한 형식 정보를 가져와야 합니다.

  1. 클라이언트는 연결점을 열거한 다음 연결 가능한 개체에서 지원하는 나가는 인터페이스의 IID를 가져오려면 각 연결 지점에 대해 IConnectionPoint::GetConnectionInterface 를 호출합니다.
  2. 클라이언트는 IProvideClassInfo 인터페이스 중 하나에 대해 연결 가능한 개체를 쿼리합니다.
  3. 클라이언트는 IProvideClassInfo 인터페이스에서 메서드를 호출하여 나가는 인터페이스에 대한 형식 정보를 가져옵니다.
  4. 클라이언트는 나가는 인터페이스를 지원하는 싱크 개체를 만듭니다.
  5. 프로세스가 계속되고 클라이언트가 IConnectionPoint::Advise 를 호출하여 싱크를 연결 지점에 연결합니다.

형식 정보에서 특성 원본coclass 아래에 나열된 인터페이스 또는 dispinterface를 나가는 인터페이스로 표시합니다. 이 특성 없이 나열된 인터페이스는 들어오는 인터페이스로 간주됩니다.

연결 가능한 개체 인터페이스

클래스 정보 제공