Доброго времени суток. Есть 2 приложения - одно в виде сервиса, другое в виде оконного, графической надстройки над первым. Для Ipc выбрал CreateFileMapping+MapViewOfFile hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(SharedStruct)+4, MAPNAME); maap = (char*) MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, sizeof(SharedStruct)+4); В результате получаю ACCESS_DENIED для gui-приложения. Я прекрасно понимаю, что дело во 2 параметре для CreateFileMapping - более того, если заставить службу входить под именем пользователя, а не Local Service, все нормально работает. Я просто никогда раньше не работал с SECURITY_ATTRIBUTES, везде NULL ставил и радовался жизни. Посоветуйте, как куда и чего. Заранее спасибо
ниче там сложного нету - создаешь секьюрити дескриптор, добавляешь акл с евриваном 10 строчек кода в мсдне был пример на С
например: http://msdn.microsoft.com/en-us/library/ms717798(VS.85).aspx был еще где-то там же пример с нормальными сидами
Правильно ли я понял, что сначала нужно на специальном языке подготовить строку с кодом, а потом создать дескриптор с помощью ConvertStringSecurityDescriptorToSecurityDescriptor? Если вы работали с этим языком не могли бы вы вкратце описать принципы написания дескрипторов на нем?
А какнить попроще можно? Мне всего лишь нужно разрешить доступ пользовательскому приложению к FileMapping созданному LocalService
Ну согласись это както совсем не логично=) Сервис то постоянно работает, а гуишка иногда для изменения настроек запускается. Я имел в виду можно ли нужный дескриптор както попроще получить? Нехочется во все это сейчас вникать, я гляжу там много заморочек
глупости, ты просто сам себя запугал 15 минут делов, полэкрана кода и на всю оставшуюся жызнь ты будешь это уметь
Спасибо, разобрался. [Оффтоп] Почему иногда при открытии страниц msdn браузер (с натяжкой браузер) выдает "операция прервана"?