我正在使用 boost::interprocess 在两个应用程序之间进行通信。当这两个应用程序由同一个用户启动时,它运行得很好。
当其中一个应用程序是服务时,它会失败。
我发现共享的媒体实际上是在“TMP”目录中创建的文件。因此,由于每个应用程序都在自己的“TMP”目录中创建自己的文件,所以它失败了。
可能我没有用对它实现我的特定目的。
有人知道怎么解决我的问题吗?
非常感谢。
Nic(尼克)
EDIT: I tried using "managed_mapped_file". My problem is that the win32 implementation is calling "CreateFileMapping" without specifying a name for the object. In my special case, I think I need to specify something like "GlobalMyMappedFile" so that both the application and the service can view the mapped file.