注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

C#调用海康SDK  

2013-03-30 17:56:37|  分类: 视频监控 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

最近在学习用C#调用海康摄像机的SDK进行二次开发,真可谓是问题多多

对 PInvoke 函数 “WindowsFormsApplication1!WindowsFormsApplication1.hkClient::NET_DVR_Login_V30” 的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。

 

这个问题困惑了很久,百度,谷歌等。。。。。都无济于事

网上找的方法如下:

 

方法一:

[DllImport("HCNetSDK.dll", CharSet = CharSet.Ansi,CallingConvention = CallingConvention.StdCall , ExactSpelling = true)]
        public static extern int NET_DVR_Login(string sDVRIP, Int16 wDVRPort, string  sUserName, string sPassword, LPNET_DVR_DEVICEINFO lpDeviceInfo);

把CallingConvention = CallingConvention.StdCall 改为CallingConvention = CallingConvention.Cdecl

可是对于我来说还是没用

 

方法二:

方法中是否有类型对应错误

也没有用

 

自家想的方法:

方法三:

应为我用的是vs2010 里面默认的.net版本为.net 4.0


把“目标框架”改为3.5居然就可以了

果真是天无绝人之路呀!

  评论这张
 
阅读(712)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017