Я использую boost::interprocess для связи между двумя приложениями. Когда два приложения запускаются одним и тем же пользователем, все работает отлично.
Когда одно из приложений является службой, оно дает сбой.
Я обнаружил, что общий носитель на самом деле является файлом, созданным в каталоге «TMP». Так что это не удается, потому что каждое приложение создает свой собственный файл в своем собственном каталоге «TMP».
Может быть, я не использую его хорошим способом для моей конкретной цели.
Кто-нибудь знает, как решить мою проблему?
Большое спасибо,
Ник
EDIT: я пытался использовать "managed_mapped_file". Моя проблема в том, что реализация win32 вызывает "CreateFileMapping" без указания имени объекта. В моем особом случае, я думаю, мне нужно указать что-то вроде "Global\MyMappedFile", чтобы и приложение, и служба могли просматривать сопоставленный файл.