可以自动发现DLL导出并生成互操作代码吗?

时间:2009-08-04 18:53:23

标签: interop

C#:

我有一个与硬件设备通信的供应商提供的标准win32 DLL。是否有任何实用程序通过发现DLL中的导出自动生成我的互操作代码?这不是COM dll。没有def文件,我只有DLL。

1 个答案:

答案 0 :(得分:2)

通常,您所能做的就是找出导出的函数名称。即使这样,也可能(但非常非常不可能)名称不在那里(一个只有序数的DLL)。

名称可能有参数的线索(参数的大小,或者受损的C ++名称),但是从这些信息中获取实际参数会很痛苦并且容易出错(C ++错位名称)或者不可能(如果只在名称中编码大小)。

如果它是一个COM DLL,你仍然不能保证你可以得到你需要的信息,但是更有可能是关于DLL的TLB或其他一些meteainfo,无论是单独的还是嵌入的DLL。