我有两个调用dll的程序。我想让他们都确保调用dll的相同实例,以便它可以用来来回传递信息。
如何正确地对相同的实例进行异步,以便两个程序都在同一个dll上进行通信,并且可以使用dll作为反向pinvokes和回调的中间来回传递信息。
pinvoke不是这样做的方法吗?有没有更好的办法?
答案 0 :(得分:2)
它被称为“DLL中的共享部分”,它会让你以某种方式在加载该DLL的所有进程之间共享数据。
由于代码在不同的进程中运行,您将无法共享回调。您需要某种IPC(进程间通信)机制才能做到这一点。
总的来说,我建议不要这样做,因为这是在应用程序之间共享数据的不寻常方法。您不太可能找到帮助并抽样如何做到这一点,并且需要阅读本书(Windows Internals,无论如何都是有用的阅读),以便自己正确地完成。
答案 1 :(得分:0)
使用Interprocess Communication with WCF
DLL用于共享代码,而不是共享数据。