Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我在哪里可以找到解释如何取得C/C++;函数头,并用C#中的dllimport定义它?_C#_Dllimport - Fatal编程技术网

我在哪里可以找到解释如何取得C/C++;函数头,并用C#中的dllimport定义它?

我在哪里可以找到解释如何取得C/C++;函数头,并用C#中的dllimport定义它?,c#,dllimport,C#,Dllimport,我正在使用setupapi.dll确定USB设备连接。它在64位版本的windows(XP、Vista)中无法正常工作。我怀疑这些声明不太正确,但不确定如何验证。MS似乎没有提供dllimport信息,但它们确实列出了所有函数定义。是否有资源可用于在函数头和dllimport声明之间转换 我使用了pinvoke.net,但在提供的定义中,它似乎不占64位。您正在寻找的工具称为C++/CLI。它是为了处理这些头文件并生成互操作代码而构建的,不需要使用P/Invoke 在C++/CLI中编写一个轻量

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


我使用了pinvoke.net,但在提供的定义中,它似乎不占64位。

您正在寻找的工具称为C++/CLI。它是为了处理这些头文件并生成互操作代码而构建的,不需要使用P/Invoke

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


(很难提供更具体的答案,因为您没有具体说明它是如何正常工作的…

请检查。它有大量的Win32 API已经翻译成DllImport定义(包括setupapi.dll)。

pinvoke.net是基于wiki的。当你找到你的答案时,回到那里并加上它。我怀疑那里有一些定义。它们适用于32位,但我认为它们中的许多都没有考虑64位。只是警告一句,我在pinvoke.net上发现了许多不正确的定义。