클래스 정보 제공
개체의 클라이언트가 개체의 형식 정보를 검사하는 것이 유용한 경우가 많습니다. 개체의 CLSID가 지정된 경우 클라이언트는 레지스트리 항목을 사용하여 개체의 형식 라이브러리를 찾은 다음 CLSID와 일치하는 라이브러리의 coclass 항목에 대한 형식 라이브러리를 검색할 수 있습니다.
그러나 모든 개체에 CLSID가 있는 것은 아니지만 형식 정보를 제공해야 합니다. 또한 클라이언트가 레지스트리 항목에서 동일한 정보를 추출하기 위해 모든 테디움을 거치지 않고 개체에 형식 정보를 요청하는 방법이 편리합니다. 이 기능은 연결 가능한 개체에서 나가는 인터페이스를 처리할 때 중요합니다. 연결 가능한 개체가 이 기능을 제공하는 방법에 대한 자세한 내용은 IProvideClassInfo 사용을 참조하세요.
이러한 경우 클라이언트는 IProvideClassInfo 또는 IProvideClassInfo2에 대한 개체를 쿼리할 수 있습니다. 이러한 인터페이스가 있는 경우 클라이언트는 GetClassInfo 메서드를 호출하여 인터페이스에 대한 형식 정보를 가져옵니다.
IProvideClassInfo 또는 IProvideClassInfo2를 구현하여 개체는 전체 클래스에 대한 형식 정보를 제공할 수 있도록 지정합니다. 즉, 형식 라이브러리의 coclass 섹션에 설명된 내용입니다(있는 경우). GetClassInfo 는 개체의 coclass 정보에 해당하는 ITypeInfo 포인터를 반환합니다. 이 ITypeInfo 포인터를 통해 클라이언트는 개체의 들어오고 나가는 인터페이스 정의를 모두 검사할 수 있습니다.
개체는 IProvideClassInfo2를 제공할 수도 있습니다. IProvideClassInfo2 인터페이스는 IProvideClassInfo에 대한 간단한 확장으로, 기본 이벤트 집합에 대한 개체의 나가는 인터페이스 식별자를 빠르고 쉽게 검색할 수 있습니다. IProvideClassInfo2 는 IProvideClassInfo에서 파생됩니다.
관련 항목