【发布时间】:2009-01-28 18:59:28
【问题描述】:
我正在使用 boost::interprocess 在两个应用程序之间进行通信。当两个应用程序由同一个用户启动时,效果很好。
当其中一个应用程序是服务时,它会失败。
我发现共享媒体实际上是在“TMP”目录中创建的文件。所以它失败了,因为每个应用程序都在自己的“TMP”目录中创建自己的文件。
也许我没有将它用于我的特定目的。
有人知道如何解决我的问题吗?
非常感谢,
网卡
编辑: 我尝试使用“managed_mapped_file”。我的问题是 win32 实现调用“CreateFileMapping”而没有指定对象的名称。在我的特殊情况下,我认为我需要指定类似“Global\MyMappedFile”的内容,以便应用程序和服务都可以查看映射文件。
【问题讨论】:
-
您好,我正在处理一个非常相似的问题,我非常感谢您对这个主题进行更多详细说明,因为我对 boost::interprocess 完全陌生并且找不到任何用途网络中 managed_windows_shared_memory 的示例。谢谢。编辑:我在 windows vista 下工作。
标签: boost windows-services interprocess