这是方法原型 UINT GetCardID(BYTE* szCardID, UINT* nCardIDLen)
这是我写的对应的方法
[DllImport("test.dll")]
public static extern int GetCardID(byte[] szCardID, out int nCardIDLen);
在调用64的dll时是可以的···换了32位的dll就说参数不匹配了(pinvokestackimbalance)但是时可以运行出结果的,但每次都报pinvokestackimbalance
你已经找到问题了!
可是我改来改去还是不对,它那个也不是报错就是运行起来会提醒你,点继续还是可以运行出结果的
加上一句CallingConvention = CallingConvention.Cdecl即可
这个我知道 hg业务吧