尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
C#调用非托管DLL中的API:
LONG APIENTRY devwdm_GetImageBuffer(BYTE *pImageMem);
函数功能: 采集一帧RGB24图像到内存
pImageMem: 图像缓冲区指针
C#调用:
于是报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
求助于大家,根据大家的意见,把API中的 BYTE* 转换到C#中,分别用 byte[] 、IntPtr 、ref byte[]、 ...甚至用unsafe了,可是还是报错,有人说内存不够大,于是我非配了很大的内存,扔报错...
万般无奈,去C++的示例程序中看,示例程序中调用该函数没有任何问题。
谁能帮助我一下啊,感谢万分啊
LONG APIENTRY devwdm_GetImageBuffer(BYTE *pImageMem);
函数功能: 采集一帧RGB24图像到内存
pImageMem: 图像缓冲区指针
C#调用:
[DllImport("devwdm.dll")]
public static extern int devwdm_GetImageBuffer(IntPtr pImageMem);
于是报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
求助于大家,根据大家的意见,把API中的 BYTE* 转换到C#中,分别用 byte[] 、IntPtr 、ref byte[]、 ...甚至用unsafe了,可是还是报错,有人说内存不够大,于是我非配了很大的内存,扔报错...
万般无奈,去C++的示例程序中看,示例程序中调用该函数没有任何问题。
谁能帮助我一下啊,感谢万分啊
...全文
相关推荐
关于 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。的解决方法
主要介绍了尝试读取或写入受保护的内存。这通常指示其他内存已损坏。的解决方法,有需要的朋友可以参考一下
Phonetic Bandbag Simulation
MATFOR4.1的demo中有个pbg项目(Phonetic Bandbag Simulation),无论怎么改,都有个错误“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”。查遍网络,最后弄清楚了,GC是单独的一个线程,跨线程释放内存就会造成这样的问题。这是修改过的文件,希望对您有用。 如果您使用多核,且您正在使用MATFOR4.1,不妨下载下来试试看。
C语言读取文件数据,写入内存
作为一个新手学习C语言读写数据,我整合了一下自己查找的一些资料,用C语言实现将一个文件读入内存中,里面有运行工具,和一个word文档代码。
MFC CSV文件的读取和写入
对CSV文件的读取和写入,简单操作,利用新手阅读和学习
EXCEL读取和写入
使用LABVIEW读取和写入Excel,使用Labview2017,可以是低版本,但是函数选板中至少要有报表生成部分。


