如何使用LoadTypeLibEx以MSFT格式加载类型库文件

时间:2018-12-05 22:42:06

标签: c# com interop typelib

我有一个旧的OLB文件,它实际上是类型库(可能是MSFT文件格式)。到目前为止,据我所知,它的签名以0x4D, 0x53, 0x46, 0x54, 0x02, 0x00, 0x01, 0x00开头,它是OLE Type Libary 2或C ++类型库文件。

我正在尝试在LoadTypeLibEx应用程序(一个简单的库查看器,可以浏览类型库而无需注册)中使用C#方法加载该文件,以获取ITypLib对象我可以用来反映该库定义的所有类型和成员,但是函数调用失败并出现以下错误:

  

System.Runtime.InteropServices.COMException   加载类型库/ DLL时出错。 (来自HRESULT的异常:0x80029C4A(TYPE_E_CANTLOADLIBRARY))

从具有签名的0x4D, 0x5A0x53, 0x4C, 0x54, 0x47等其他库文件中加载类型库就可以了。因此,我想知道LoadTypeLibEx是否能够读取MSFT文件,或者需要做些什么才能提取似乎嵌入其中的类型库。

0 个答案:

没有答案