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

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

C# 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏。  

2014-02-27 10:49:23|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在C#中调用别人的DLL的时候有时候出现 尝试读取或写入受保护的内存 这通常指示其他内存已损坏。

在传值的时候还是用指针,再在C#中做转换就好了。

解决办法:


[DllImport("APPLISTCC.dll")]
public static extern string TestFunc1(string param1);

string ret1 = TestFunc1("text");


改成:


[DllImport("APPLISTCC.dll")]
public static extern IntPtr TestFunc1(IntPtr par1);

IntPtr ptrIn = Marshal.StringToHGlobalAnsi("text");
IntPtr ptrRet = TestFunc1(ptrIn);
string retlust = Marshal.PtrToStringAnsi(ptrRet);


转自:http://blog.csdn.net/szstephenzhou/article/details/17373603

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

历史上的今天

评论

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

页脚

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