是否可以将.NET并发集合用于X64通信的过程间X32
Can the .NET Concurrent Collections be used for inter-process x32 to/from x64 communications?
我有一个我无法控制的32位应用程序。我目前将其与32位C DLL进行通信,该DLL按摩数据并将其传递到32位.NET DLL,我的C#应用程序可以使用它。我想将我的C#应用程序升级到64bits,以获得更大的内存访问。
有没有办法让我的32位C dll与.NET并发集合,特别是同时性的集合?这将允许过程间沟通吗?如果是这样,我可以从中学到一个例子吗?如果没有,有人知道要解决双向的任何API或库32-64位跨过程通信。
对于许多开发人员来说,这似乎是一个主要问题,但是我的搜索并未发现快速,可靠,可能简单的解决方案。我发现主要组件开发人员没有提供任何解决方案(我找到的)很奇怪。
事先感谢您的任何帮助。
无法使用32和64位应用程序和DLL的过程中的混合物。
如果要在32和64位应用程序之间进行通信,那么您有一些选择:
-
将32位库的包装添加到com对象中,然后将其托管过流程。com将把电话从64位到32位,然后再返回。
-
使用IPC(例如命名管,TCP或WCF)在32和64位应用程序之间进行通信。
-
使用内存映射的文件使用共享数据结构来交换数据。这可能是最复杂的解决方案。
相关文章:
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 是否可以使用winusb同时与多个相同的usb设备进行通信
- 为x86而非x64编译时出错
- 混淆了如何使用IDL与Ethovision进行通信
- 为什么在 x64 中忽略__stdcall调用约定?
- C++ Boost::asio串行通信与Arduino无法写入
- 我是否需要包含隐式使用/与 WindowsAPI 通信"Windows.h"?
- 通过TCP的PvP通信问题
- C++一个线程如何正确通信其任务已完成?
- 使用 VS2015 在 Windows 10 上构建 Fortran .lib x64 位并将其链接到 C++
- 加载"D:UsersPublicDocumentsopencvbuildx64vc14binopencv_world340d.dll",找不到或打开PDB文件
- 如何将 Firebase 与基于 Linux 的客户端应用配合使用,以便与服务器进行双向消息通信
- VS 2017 使用交叉编译器构建 x64 项目
- 删除功能不适用于串行通信后多个循环中的多个实例
- 网站和C++程序在同一台 Linux PC 上的通信
- 通过插槽和信号在不同线程中的两个qt对象之间进行通信
- 使用 pybind11 共享 MPI 通信器
- 进程间通信堆内存
- 在VS2019项目中集成ImageMagick:x64-windows-static library
- 是否可以将.NET并发集合用于X64通信的过程间X32