首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#调用c的dll失误,

2013-07-08 
C#调用c的dll出错,急!急!急!函数原型:void _stdcall ReleaseMemory(unsigned char **OUTData)函数功能:释

C#调用c的dll出错,急!急!急!
函数原型:void _stdcall ReleaseMemory(unsigned char **OUTData)  函数功能:释放内存
C#调用: [DllImport("a.dll")]
        public static extern void ReleaseMemory(ref StringBuilder OUTData);
出现错误:尝试读取或写入受保护的内存。这通常指示其他内存已损坏
用string也是同样的错误,无助啊! C# 内存
[解决办法]
byte或void**是这样用的:
void* pv = IntPtr.Zero.ToPointer();
void** OutData= &pv;
当然你用ref byte*也可以。

取内容用Marshal.PtrToStringAnsi(new IntPtr(*OutData,length),); 这是void**的时候

热点排行