2 fang943667052 fang943667052 于 2014.11.29 11:02 提问

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

c#调用别人的dll里面的方法出现"尝试读取或写入受保护的内存。这通常指示其他内存已损坏。"!纠结了好久!请大家帮帮我吧

3个回答

guwei4037
guwei4037   Ds   Rxr 2014.11.29 13:22
bdmh
bdmh   Ds   Rxr 2014.11.29 13:23

通常就是参数类型不匹配,调用约定不匹配

findcaiyzh
findcaiyzh   Rxr 2014.12.03 07:57

最好,写下C函数声明和C#中的声明。

出现这种情况应该是字符串,指针参数。或者返回值。
字符串的话,看看这篇文章 http://msdn.microsoft.com/en-us/library/s97shtze.aspx

还有这个http://msdn.microsoft.com/en-us/library/s9ts558h(v=vs.110).aspx#cpcondefaultmarshalingforstringsanchor5.aspx#cpcondefaultmarshalingforstringsanchor5 "")

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”的解决
转载于:http://www.cnblogs.com/jerrmy/p/3485120.html 先来介绍一下出现这个错误的原因。看到园子中有人写了Web Api 2.0的博文,自己也想学习一下这个技术,于是就去了Microsoft官网看了一下关于web api的介绍,之后就有自己动手写个demo的冲动了,由于自己安装的是vs2012,需要升级到sp4,但是自己又不想升级到sp4,关键还是自
"尝试读取或写入受保护的内存。这通常指示其他内存已损坏。"
C#下利用ffmpeg频繁解码,导致 System.AccessViolationException ,且无法捕捉而使软件经常崩溃。 ffmpeg的原理无法了解,不过现有二法捕捉此异常: 法一:添加HandleProcessCorruptedStateExceptionsAttribute [HandleProcessCorruptedStateExceptions] void DoSo
C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
今天打开一个之前写的程序,
AE开发中的“尝试读取或写入受 保护的内存。这通常指示其他内存已损坏。”错误解析
IPolyline pPolyline2 = feature2.Shape as IPolyline; ITopologicalOperator topoOperator = pPolyline2 as ITopologicalOperator; ... ILine line = lineSegCol.get_Segment(i) as Line; IGeometry geo = to
C# winform程序运行过程中提示"尝试读取或写入受保护的内存.这通常指示其他内存已损坏的"
C# winform程序运行过程中提示"尝试读取或写入受保护的内存.这通常指示其他内存已损坏的" 错误 
C# 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏。
在C#中调用别人的DLL的时候有时候出现 尝试读取或写入受保护的内存 。这通常指示其他内存已损坏。 在传值的时候还是用指针,再在C#中做转换就好了。 解决办法: [DllImport("APPLISTCC.dll")] public static extern string TestFunc1(string param1); string ret1 = TestFunc1("
尝试读取或写入受保护的内存,这通常指示其他内存已损坏【解决方法】
今天本地运行项目,莫名其妙地报了个 尝试读取或写入受保护的内存,这通常指示其他内存已损坏! 于是在网上找了好久,终于找到了解决的方法,自己做个笔记,方便以后在遇到类似的问题,可以很方便地找到解决办法 以管理员的身份运行CMD   执行netsh winsock reset    然后提示你重新启动计算机   重启后错误就没有了
程序出现异常"尝试读取或写入受保护的内存这通常指示其他内存已损坏"
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 此类错误屡见不鲜了,特别是图像开发,Com组件操作时,不要期望本文能够给你一个明确的答复,只能给你提供解决问题的思路:
fnthex32.dll :尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
16年时候项目中也要用的斑马打印机打印中文汉字的要求,想借鉴这个控件(Fnthex32.dll)来完成,无奈都失败啦,后来是用C# 写成类给vb6.0调用把文本写在txtbox中,再生产图片,然后系列化解决的这个问题。 最近用c# 重写这个斑马打印程序,就又想起这个控件,于是就决定重新研究一下,网上的基本都是9个参数(报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。)。无奈怎么都不成
ASP.NET中System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏 如题:遇到这个问题真的让人很着急!tiao'sh