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

sc88zy sc88zy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
C#调用非托管DLL中的API:

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++的示例程序中看,示例程序中调用该函数没有任何问题。

谁能帮助我一下啊,感谢万分啊
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
sc88zy
C# 111,128 成员 642,537 内容