Re: Nonstop Service in Vista
От: Alexey Frolov Беларусь  
Дата: 03.09.08 11:19
Оценка:
Здравствуйте, VintVV, Вы писали:

VVV>Здравствуйте.


VVV>Пишу прогу для работы со службами (включение, выключение и т.д.). Возникла такая проблема:

VVV>в Висте есть службы которые остановить нельзя (служба "Планировщик заданий"), но при определении
VVV>статуса службы посредством вызова QueryServiceStatus, смотрю в dwControlsAccepted, а там есть
VVV>флаг SERVICE_ACCEPT_STOP, что, как я понимаю, говорит о возможности остановки. При попытке остановить
VVV>данную службу ничего не происходит, т.е. она попрежнему остается включенной.
VVV>Но в стандартной оснастке Windows Service вижу, что возможность остановки заблокирована.
VVV>Может быть есть еще какие-то флаги, которые говорят что служба не может быть отключена?

VVV>В XP у меня все показывается точно как в стандартном Windows Service.


VVV>Проверяю флаги так:


VVV>
VVV>        FCanStop := ((dwControlsAccepted and SERVICE_ACCEPT_STOP) = SERVICE_ACCEPT_STOP);
VVV>        FCanPauseContinue := ((dwControlsAccepted and SERVICE_ACCEPT_PAUSE_CONTINUE) = SERVICE_ACCEPT_PAUSE_CONTINUE);
VVV>


SERVICE_ACCEPT_STOP говорит о том что сервис предоставляет такую возможность в принципе, но возможно не вам. Нужно смотретьв security descriptor сервиса, у вас может отсутствовать право SERVICE_STOP
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.