[DllImport("DSStream.dll", EntryPoint = "DSStream_Initialize")]
public static extern bool DSStream_Initialize();
[DllImport("DSStream.dll", EntryPoint = "DSStream_Uninitialize")]
public static extern void DSStream_Uninitialize();
[DllImport("DSStream.dll", EntryPoint = "DSStream_ConnectDevice")]
public static extern bool DSStream_ConnectDevice(int iCardID, bool bOverlay, IntPtr hParentWnd); bool num = SdkApi.DSStream_Initialize();
SdkApi.DSStream_ConnectDevice(0, false, this.Handle);对 PInvoke 函数“Demo!Demo.SdkApi::DSStream_ConnectDevice”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jun1986129x/archive/2011/03/14/6248272.aspx
public static extern bool DSStream_Initialize();
[DllImport("DSStream.dll", EntryPoint = "DSStream_Uninitialize")]
public static extern void DSStream_Uninitialize();
[DllImport("DSStream.dll", EntryPoint = "DSStream_ConnectDevice")]
public static extern bool DSStream_ConnectDevice(int iCardID, bool bOverlay, IntPtr hParentWnd); bool num = SdkApi.DSStream_Initialize();
SdkApi.DSStream_ConnectDevice(0, false, this.Handle);对 PInvoke 函数“Demo!Demo.SdkApi::DSStream_ConnectDevice”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jun1986129x/archive/2011/03/14/6248272.aspx
解决方案 »
- 关于线程参数的问题
- 还有,您认为C#中,窗体之间的传值,那种方法比较好,可否也给个实例?非常感
- [原创]近段时间有空, 自己写了个“空间互踩”软件~~~还是新手~~请大家给点意见
- .net (num1 ^ num2); 是什么意思看不懂啊
- 不能将textbox中的空值插入数据库表中
- 定义一个属性Name,如果能够像DataRow dr调用 dr[0] 或者 dr["Name"] 那样就好了。内空
- 几个简单的问题,进来看看!(关于socket,thread和 listview控件)
- 关于即时更新问题,请帮忙!
- C#Windows Form的DataGrid问题....
- 求《c#网路应用案例导航》一书的光盘代码
- c# contextmenustrip空间如何不显示前方空白
- Update 无法找到 TableMapping['table'] 或 DataTable“table” 急!!
调用时
SdkApi.DSStream_ConnectDevice(0, 0, this.Handle);
我曾经碰到过,在自己的机器上声明为long,运行没问题,换了台机器后就报签名不匹配,换成int就没事了
一直很费解
WinAPI的long类型是32位的,而C#的long是64位的,会引发PInvokeStackImbalance错误。因此需要将原来的long类型改为int类型,C#中int是32位的
http://blog.csdn.net/wjeson/article/details/8263320