Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

CreateEvent не работает,когда 1й экземпляр события создан службой [MSVC 2005]

7
19 августа 2011 года
@pixo $oft
3.4K / / 20.09.2006
Сигнализирую клиентскому приложению из службы от имени LocalSystem о завершении инициализации через событие,создаваемое следующим образом
 
Код:
hWaitSvcInit=CreateEvent(0,1,0,L"Global\\…");
(и в клиенте,и в сервере)
Служба запускается вручную клиентом,после чего сообщает ему посредством установки события о завершении своей инициализации(QueryServiceConfig по понятным причинам не использую)
Как и следовало ожидать(1й абзац секции Remarks),CreateEvent отрабатывает неудачно с ошибкой «В доступе отказано».Я так понял,надо шаманить с security descriptor'ами,но глянул и обомлел(ничего не понятно,короче:))
OpenEvent с флагом SYNCHRONIZE отрабатывает на ура,но вот незадача–можно открывать только уже существующее событие,что не всегда возможно,ибо CreateEvent в службе может не сработать к тому времени

Как поступить в данном случае?
7
21 августа 2011 года
@pixo $oft
3.4K / / 20.09.2006
Вопрос,как ни странно,решился в 1.5 строчки кода,а именно–SetSecurityInfo(hEvent,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,0,0,0,0);
Всем спасибо за просмотры:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог