2015-08-23 3 views
0

Я использую следующий пример для использования разделяемой памяти Creating Named Shared Memory (Это пример Microsoft).Доля памяти в Windows_7 между различными сеансами

Как правило, он работает нормально. Моя проблема начинается, если «первая программа» является дочерним процессом службы Windows, а «вторая программа» - обычная пользовательская программа. В этом случае «вторая программа» получает ошибку «Отказано в доступе» при вызове OpenFileMapping().

Итак, я понимаю, что мне нужно работать с «дескриптором безопасности» и разрешать всем пользователям распространять эту память. Кто-нибудь знает, как это сделать? Я не нашел для этого примера кода.

Я видел еще одну дискуссию относительно этой проблемы, он Sharing memory between two processes (C, Windows), но это было более простым.

Любые советы?

ответ

0

Была другая тема How to share memory between services and user processes которая может помочь решить вашу проблему. Я играл с этим, и с использованием ACE

D:(A;;GR;;;AU)(A;;GA;;;LS) 

В итоге пользователи могут читать только из общей памяти.

Смежные вопросы