VB.NETでC++ 関数を呼び出そうとしていますが、PInvokeStackImbalance が発生します。C++ 関数のシグネチャは次のとおりです。
int e1v151(char *NoUsager, char *SequentielSDU, char *code_sys, int code_for, char *IndGest2)
VB.NET では次のようになります。
DllImport("E1fnbase.dll", EntryPoint:="e1v151", CallingConvention:=CallingConvention.Cdecl, CharSet:=CharSet.Ansi)>
Public Function e1v151(ByVal NoUsager As String, ByVal SeqSDU As String, ByVal Codesys As String, ByVal CodeFor As Integer, ByVal IndGest2 As String) As Integer
End Function
私はすでにいくつかのことを試しました( ,StringBuilder
の代わりにString
使用して<MarshalAs(LPStr)>
)成功しませんでした。見えないものはありますか?