在哪里可以找到解释如何使用C / C ++函数头并在C#中使用dllimport定义它的参考?

时间:2009-05-21 13:25:03

标签: c# dllimport

我正在使用setupapi.dll来确定USB设备连接。它在64位版本的Windows(XP,Vista)中无法正常工作。我怀疑声明不太正确,但我不确定如何验证。 MS似乎没有提供dllimport信息,但它们列出了所有函数定义。是否有可用于在函数头和dllimport声明之间进行转换的资源?

我使用过pinvoke.net,但看起来它在提供的定义中没有考虑64位。

2 个答案:

答案 0 :(得分:1)

您正在寻找的工具称为C ++ / CLI。它是内置来处理这些标头并生成互操作代码 - 没有用P / Invoke来解决问题。

在C ++ / CLI中编写一个轻量级的包装程序集,然后在C#代码中使用它。

(很难提供更具体的答案,因为你没有真正指定 它无法正常工作......)

答案 1 :(得分:1)

结帐pinvoke.net。它有一大堆已经转换为DllImport定义的Win32 API(包括setupapi.dll)。