次の 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() が適切な関数であるかどうかわかりません。