Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];

Вниз

Сервис и событие   Найти похожие ветки 

 
race1   (2007-08-22 11:57) [0]

Есть сервис и обычная программа (П), они общаются через mmf, а что бы узнать что данные в mmf обновились они сигнализируют друг дружке событиями. И сервис и П успешно читают и записывают в mmf.

Проблема: если сервис запускается под п-м system, П не может открыть созданное сервисом событие - "Отказано в доступе". Если запустить сервис под тем же п-м, что и П, всё работает.

Как сделать, что бы П могла открыть событие, созданное сервисом, запущенным под п-м system?

PS. Используется CreateEvent.


 
Сергей М. ©   (2007-08-22 12:01) [1]


> они общаются через mmf


> игнализируют друг дружке событиями


И стоило ли так усложнять логику, если очевидное решение - NamedPipes ?


 
race1   (2007-08-22 12:03) [2]

Использую что знаю :) Про другие способы даже не подумал :(


 
Сергей М. ©   (2007-08-22 12:06) [3]


> Про другие способы даже не подумал


Печально.

Ну что ж, события так события..

Про назначение 1-го параметра ф-ции CreateEvent ты тоже не подумал ?


 
umbra ©   (2007-08-22 12:09) [4]


> Проблема: если сервис запускается под п-м system, П не может
> открыть созданное сервисом событие - "Отказано в доступе".
>

надо заполнять поле lpSecurityDescriptor структуры lpEventAttributes


 
Сергей М. ©   (2007-08-22 12:12) [5]


> race1   (22.08.07 12:03) [2]


Кстати, и с пайпами ты получил бы теми же граблями - там тоже секьюрити-механизм используется.

Но в случае с пайпами отпадает необходимость тех самых ивентов.


 
race1   (2007-08-22 12:17) [6]

Pointer to a SECURITY_ATTRIBUTES structure that determines whether the returned handle can be inherited by child processes. If lpEventAttributes is NULL, the handle cannot be inherited.

У меня нет дочерних процессов, поэтому первый аргумент всегда nil...


 
Сергей М. ©   (2007-08-22 12:22) [7]

lpSecurityDescriptor

Points to a security descriptor for the object that controls the sharing of it.


 
race1   (2007-08-22 12:25) [8]

>Сергей М.
Уже увидел :)


 
race1   (2007-08-22 13:19) [9]

http://delphikingdom.ru/asp/viewitem.asp?catalogid=1322&mode=print

 // Разрешаем полный доступ всем - делаем DACL = nil
 InitializeSecurityDescriptor(@FSecurityDesc, SECURITY_DESCRIPTOR_REVISION);
 SetSecurityDescriptorDacl(@FSecurityDesc, TRUE, nil, FALSE);

 FSecurityAttr.nLength := SizeOf(FSecurityAttr);
 FSecurityAttr.lpSecurityDescriptor := @FSecurityDesc;
 FSecurityAttr.bInheritHandle := FALSE;


Всем спасибо, всё работает :)


 
имя   (2007-09-25 06:42) [10]

Удалено модератором


 
имя   (2007-09-25 06:42) [11]

Удалено модератором


 
имя   (2007-09-25 06:42) [12]

Удалено модератором


 
Eraser ©   (2007-09-25 10:51) [13]


> race1   (22.08.07 13:19) [9]

смотри чтобы локального бэкдора не вышло )



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.049 c
2-1195287266
Hint
2007-11-17 11:14
2007.12.16
Получение названий продуктов запущенных приложений


2-1195478395
marik
2007-11-19 16:19
2007.12.16
изменение размеров при BorderStyle = bsNone


15-1194730016
Leonid Troyanovsky
2007-11-11 00:26
2007.12.16
Самые распространенные дельфийские заблуждения


5-1164191017
Master_
2006-11-22 13:23
2007.12.16
MiTeC System Information Component - где взять!


3-1187018188
kirik
2007-08-13 19:16
2007.12.16
работа с FoxPro базами (dbf) через BDE. Проблема структуры.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский