提供类信息

对象客户端检查对象的类型信息通常很有用。 给定对象的 CLSID,客户端可以使用注册表项查找对象的类型库,然后在与 CLSID 匹配的库中扫描组件类项的类型库。

但是,并非所有对象都具有 CLSID,尽管它们仍然需要提供类型信息。 此外,客户端可以通过某种方式简单方便地请求对象提供类型信息,而不必费尽心思从注册表项中提取相同的信息。 在处理可连接对象的传出接口时,此功能非常重要。 (有关可连接对象如何提供此功能的详细信息,请参阅使用 IProvideClassInfo。)

在这些情况下,客户端可以向对象查询 IProvideClassInfoIProvideClassInfo2。 如果存在这些接口,客户端将调用 GetClassInfo 方法以获取接口的类型信息。

通过实现 IProvideClassInfoIProvideClassInfo2,对象指定它可以为其整个类提供类型信息;也即在类型库的组件类部分中描述的内容(如果有)。 GetClassInfo 返回对应于对象的组件类信息的 ITypeInfo 指针。 通过此 ITypeInfo 指针,客户端可以检查对象的所有传入和传出接口定义。

该对象还可以提供 IProvideClassInfo2IProvideClassInfo2 接口是 IProvideClassInfo 的一个简单扩展,可快速轻松地检索对象默认事件集的传出接口标识符。 IProvideClassInfo2 派生自 IProvideClassInfo

COM 客户端和服务器