问题描述:其他信息: 对 PInvoke 函数“WpjRfidReader!WpjRfidReader.Reader::Net_DisconnectScanner”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
解决方法:
1.把.NET 环境改为Net3.5
2.或者增加
CallingConvention:=CallingConvention.Cdecl
原先的代码
<DllImport(PUBLIC_COM_PATH, CharSet:=CharSet.Ansi)>
Public Shared Function Net_DisconnectScanner(ByVal hScanner As Integer) As Integer
End Function
修改后的代码
<DllImport(PUBLIC_COM_PATH, CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.Cdecl)>
Public Shared Function Net_DisconnectScanner(ByVal hScanner As Integer) As Integer
End Function