调用dll文件时发生了 PInvokeStackImbalance,怎么解决? 本帖最后由 bdmh 于 2014-11-20 13:14:24 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试试设置DllImport的CallingConvention属性为CallingConvention.Cdecl 改成这样吗? [DllImport("SLKKB.dll", EntryPoint = "ReadPwd", SetLastError = true, CharSet = CharSet.Auto, ExactSpelling = false, CallingConvention = CallingConvention.Cdecl)] public static extern StringBuilder ReadPwd(int cmd, int overtime);还是不行,报:vshost32.exe 已停止工作 其它几个CallingConvention也试一试。 然后调用PtrToStringAuto转成stringIntPtr ptr = foo();string str = Marshal.PtrToStringAuto(ptr); 可以确定是 返回值 char* 这里转错了,但是还是不知的怎么改 可以确定是 返回值 char* 这里转错了,但是还是不知的怎么改 char * 的返回值 用 String 就够了,不要用 StringBuilder 请问各位大侠,如何抓取某一网页上的某些数据并导入到mss数据库里 怎么根据if条件 来加where条件 什么是范式 时间处理!!!在线! 查询语句,没结果,请大家指点! C#问题 求会用cleacanvs的达人指点迷津, 谁知道有什么WPF美化界面的控件吗? C#是否以C++为语法基础?不懂C++基础的话学习C#很困难是不是?谢谢!大家进来讨论一下啊! 如何将文本框的文本插入到数据库? C# winform 滚动条样式 c#后台调用JS 方法并传参
改成这样吗?
[DllImport("SLKKB.dll", EntryPoint = "ReadPwd", SetLastError = true,
CharSet = CharSet.Auto, ExactSpelling = false,
CallingConvention = CallingConvention.Cdecl)]
public static extern StringBuilder ReadPwd(int cmd, int overtime);还是不行,报:vshost32.exe 已停止工作
string str = Marshal.PtrToStringAuto(ptr);