我正在尝试将以下 VB 代码重写为 C++ 以导入和使用 DLL 文件:
<DllImport("NfcReader.dll", EntryPoint:="CommOpen")> _
Public Function CommOpen(ByRef hCom As IntPtr, ByVal com_port As String) As Short
End Function
我尝试使用以下代码:
#using <mscorlib.dll>
using namespace System::Runtime::InteropServices;
namespace sensor{
[DllImport("NfcReader.dll", EntryPoint = "CommOpen")]
short int CommOpen(intptr_t hCom, std::string com_port);
}
但我不断收到错误 system.accessviolation 因为显然我的函数参数不能是字符串。
有人可以帮我解决这个问题吗?我不知道 DllImport() 是否是在这种情况下使用的正确函数?