0

我有两个调用 dll 的程序。我想让他们都确保调用 dll 的同一个实例,以便它可以用来来回传递信息。

我怎样才能正确地调用同一个实例,以便两个程序都与同一个 dll 对话,并且可以使用 dll 作为中间人来回传递信息,并使用反向 pinvokes 和回调。

pinvoke不是这样做的方法吗?有没有更好的办法?

4

2 回答 2

2

它被称为“DLL 中的共享部分”,它可以让您以某种方式在加载该 DLL 的所有进程之间共享数据。

由于代码在不同的进程中运行,您将无法共享回调。您需要某种 IPC(进程间通信)机制来做到这一点。

总的来说,我建议不要这样做,因为这是在应用程序之间共享数据的不寻常方法。您不太可能找到如何做到这一点的帮助和示例,并且需要阅读这本书(Windows Internals,无论如何都很有用)才能自行正确完成。

于 2012-10-02T17:17:19.417 回答
0

使用WCF 进行进程间通信

DLL 用于共享代码,而不是共享数据。

于 2012-10-02T19:26:39.700 回答