我有一个32位的应用程序,我无法控制。我目前正在与一个32位的C++ DLL进行通信,这个C++ DLL会对数据进行处理并将其传递给C#应用程序可以访问的32位.NET DLL。我想将我的C#应用程序升级到64位以获得更大的内存访问权限。.NET Concurrent Collections可用于进程间x32与x64通信之间的进程吗?
有没有办法让我的32位C++ DLL与.NET Concurrent Collections交谈,特别是ConcurrentQueue?这会允许进程间通信吗?如果是这样,有没有我可以从中学习的例子?如果没有,是否有人知道任何API或库可以解决双向32-64位进程间通信。
看来这对许多开发者来说是一个主要问题,但我的搜索还没有发现一个快速,可靠,可能是简单的解决方案。我感到奇怪的是,主要组件开发人员不提供任何解决方案(我发现)。
在此先感谢您的帮助。
COM互操作是获取本机C++应用程序使用.NET对象的常用方法。适用于System.Collections中的类,它们具有[ComVisible]属性。跨过程和边界边界工作。但不适用于并发集合,它们是通用的。 COM不支持泛型类。这就是它结束的地方。 –