对 PInvoke 函数"Xtts2.0!Xtts2._0.Form1::MSPLogin"的调用导致堆栈不对称.
[DllImport("msc.dll",CallingConvention=CallingConvention.Cdecl)]publicstaticexternint...
[DllImport("msc.dll",CallingConvention =CallingConvention .Cdecl )]
public static extern int MSPLogin(string usr,string pwd, string _params );
cdecl也加上了啊 还是不行。。。 展开
public static extern int MSPLogin(string usr,string pwd, string _params );
cdecl也加上了啊 还是不行。。。 展开
展开全部
把下面这个特性加到函数原型声明上方,即可解决调用非托管代码导致堆栈不对称的问题:
[StructLayout(LayoutKind.Sequential,Pack=1)]
更多追问追答
追问
呃 加到函数原型声明上方。。。是哪里呢?还需要怎么做?只加这句的话是个错误啊
追答
// 以下是代码片段:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[StructLayout(LayoutKind.Sequential,Pack=1)] // 这里
[DllImport("MyDll.dll",CallingConvention=CallingConvention.Cdecl)]
public static extern int Test(Int32 a,IntPtr b);
......
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询