代码之家  ›  专栏  ›  技术社区  ›  Peter Ruderman

如何使用ITypeInfo指针获取类型的名称?

  •  8
  • Peter Ruderman  · 技术社区  · 14 年前

    这应该是一个简单的问题,但搜索文档让我发疯。假设我有一个用于coclass或接口的ITypeInfo指针。如何获取该类或接口的名称?

    2 回复  |  直到 14 年前
        1
  •  8
  •   stakx - no longer contributing Saravana Kumar    7 年前

    好 啊。结果很简单。你只需要打电话给 ITypeInfo.GetDocumentation 成员id设置为的方法 MEMBERID_NIL (1). 像这样:

    CComBSTR typeName;
    hr = typeInfo->GetDocumentation( MEMBERID_NIL, &typeName, NULL, NULL, NULL );
    

    如果您是在.NET中编程,那么 Marshal.GetTypeInfoName

    // using System.Runtime.InteropServices;
    string typeName = Marshal.GetTypeInfoName(typeInfo);
    
        2
  •  4
  •   Richard Cook    14 年前

    ITypeInfo . 您可以使用Win32获取类的prog ID ProgIDFromCLSID 应用程序编程接口。在COM中,实现COM接口或Co类的基础C++、VisualBasic或.NET类的名称实际上是没有意义的。只有接口id、类id和编程id在co类实现的源代码之外具有任何意义:只有这些id可以用于使用激活COM对象 CoCreateInstance 等,并使用 QueryInterface .