什么样的C#缓冲区可以处理这个?
我需要我的C#解决方案.exe从生成实时视频帧(最多60秒/秒)的Visual-C ++ DLL中获取大约2-3MB的数据,每秒最多60次,并将其复制到C#缓冲区。然后,C#将通过USB将此数据转发到另一台计算机。
我已经尝试过C#字符串但是有最大大小限制(大约10KB)。
我正在考虑一个包含数据缓冲区和握手变量的C#结构。
可能我需要多个缓冲区,因此可能需要这些结构的数组。
但是,基本上,提供某种C#缓冲区的DLL目标地址是最好的方法(最快!!!),这样DLL就可以将其2-3MB的生成数据复制到缓冲区,然后设置一个变量标志,同时C#轮询该标志以知道数据何时在缓冲区中,因此可以进一步处理。
缓冲区应该首先由C#创建,而不是DLL,我认为。
答案 0 :(得分:1)
这是一个想法:
优点是您可以使用普通的托管byte[]
。