使用ulong *参数从c#导入dll函数

时间:2017-06-27 15:36:15

标签: c# windows dll pinvoke dllimport

我在Visual Studio 2015中在Windows 7和c#中开发; 我在我的其他c程序中导入dll中使用的函数时遇到问题:

unsigned long ulaVersion[2];
MHM_GetDLLVersion(ulaVersion);
cout << "MHM_1SL_interface.dll Version: " << ulaVersion[1] << "." << ulaVersion[0] << endl << endl;

在头文件中:

unsigned long __stdcall MHM_GetDLLVersion(unsigned long *pulDllVersion);

该功能正常工作并打印1.8。

好吧,现在我尝试使用c#

[DllImport(@"MHM_1SL_interface.dll", CallingConvention = CallingConvention.StdCall)]
public static extern UInt32 MHM_GetDLLVersion(ref UInt32 ulaVersion);

我尝试使用此功能,但我收到了#34; 8&#34;结果...... 我错在哪里? 哪个是将ulong *参数传递给c#中的函数的正确方法?

0 个答案:

没有答案