Shared memory: service&gui

Тема в разделе "WASM.BEGINNERS", создана пользователем Vilco, 22 июл 2008.

  1. Vilco

    Vilco Vitaly

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    190
    Адрес:
    Nsk, Russia
    Доброго времени суток.
    Есть 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 ставил и радовался жизни. Посоветуйте, как куда и чего. Заранее спасибо
     
  2. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    ниче там сложного нету - создаешь секьюрити дескриптор, добавляешь акл с евриваном :)
    10 строчек кода
    в мсдне был пример на С
     
  3. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    например:
    http://msdn.microsoft.com/en-us/library/ms717798(VS.85).aspx
    был еще где-то там же пример с нормальными сидами
     
  4. Vilco

    Vilco Vitaly

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    190
    Адрес:
    Nsk, Russia
    Правильно ли я понял, что сначала нужно на специальном языке подготовить строку с кодом, а потом создать дескриптор с помощью ConvertStringSecurityDescriptorToSecurityDescriptor? Если вы работали с этим языком не могли бы вы вкратце описать принципы написания дескрипторов на нем?
     
  5. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    Не обязательно, это как один из вариантов.
     
  6. Vilco

    Vilco Vitaly

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    190
    Адрес:
    Nsk, Russia
    А какнить попроще можно?
    Мне всего лишь нужно разрешить доступ пользовательскому приложению к FileMapping созданному LocalService
     
  7. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    поменяй код так чтобы все объекты в аппликейшыне создавались а в сервисе открывались ;)
     
  8. Vilco

    Vilco Vitaly

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    190
    Адрес:
    Nsk, Russia
    Ну согласись это както совсем не логично=)
    Сервис то постоянно работает, а гуишка иногда для изменения настроек запускается.
    Я имел в виду можно ли нужный дескриптор както попроще получить? Нехочется во все это сейчас вникать, я гляжу там много заморочек
     
  9. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    глупости, ты просто сам себя запугал :)
    15 минут делов, полэкрана кода и на всю оставшуюся жызнь ты будешь это уметь
     
  10. Vilco

    Vilco Vitaly

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    190
    Адрес:
    Nsk, Russia
    Спасибо, разобрался.
    [Оффтоп] Почему иногда при открытии страниц msdn браузер (с натяжкой браузер) выдает "операция прервана"?