我有一个旧的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, 0x5A
或0x53, 0x4C, 0x54, 0x47
等其他库文件中加载类型库就可以了。因此,我想知道LoadTypeLibEx
是否能够读取MSFT
文件,或者需要做些什么才能提取似乎嵌入其中的类型库。