![](/img/trans.png)
[英]How to define dllimport of c++ function with void *buffer in C#
[英]Where can I find a reference explaining how to take a C/C++ function header and define it with dllimport in C#?
我正在使用setupapi.dll来确定USB设备连接。 在64位版本的Windows(XP,Vista)中无法正常工作。 我怀疑声明不是很正确,但是不确定如何验证。 MS似乎没有提供dllimport信息,但它们确实列出了所有函数定义。 有没有可以在函数头和dllimport声明之间转换的资源?
我使用过pinvoke.net,但看起来它不占所提供定义中的64位。
您正在寻找的工具称为C ++ / CLI。 它是为处理这些标头并生成互操作代码而构建的 -不会与P / Invoke产生冲突。
用C ++ / CLI编写一个轻量级的包装程序集,然后从您的C#代码中使用它。
(硬盘提供了更明确的答案,因为你并没有真正说明它是如何工作不正常...)
查看pinvoke.net 。 它具有大量Win32 API,它们已经转换为DllImport定义(包括setupapi.dll)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.