首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取COM对象的版本

获取COM对象的版本
EN

Stack Overflow用户
提问于 2008-11-13 19:56:33
回答 2查看 230关注 0票数 1

我正在从C++访问.NET COM对象。我想知道这个COM对象的版本信息。当我在OLEVIEW.exe中打开TLB时,我可以看到与coclass相关的版本信息。如何从C++访问此信息?这是我得到的信息:

代码语言:javascript
复制
[
  uuid(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX),
  version(1.0),
  custom(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, XXXX)
]
coclass XXXXXXXX{
    [default] interface XXXXXXXX;
    interface _Object;
    interface XXXXXXXX;
};
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-11-15 21:02:08

基本上,最后我发现我需要使用ITypeLib接口来获取信息。因此,以下是解决方案:

代码语言:javascript
复制
  BSTR bstrTLBNameWithPath = ""; //set this to whatever you want

  if( bstrTLBNameWithPath )
  {
    ITypeLib * pTlib = 0;
    HRESULT hr = LoadTypeLib( bstrTLBNameWithPath,&pTlib );
    if( SUCCEEDED( hr ) && pTlib )
    {
      TLIBATTR * pTlibattr = 0;
      hr = pTlib->GetLibAttr( &pTlibattr );
      if( SUCCEEDED(hr) && pTlibattr )
      { 
        //do something with the info

        //release the information
        pTlib->ReleaseTLibAttr(pTlibattr);
        pTlib->Release();
      }
    }
  }
票数 1
EN

Stack Overflow用户

发布于 2008-11-13 20:00:17

code project有一个将在运行时执行此操作的类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/288045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档