Аннотация:
В статье рассматриваются вопросы управления системными
службами Windows NT: чтение и изменение конфигурации, запуск и остановка, установка и удаление служб. В статье описана большинство функций управления службами, использование каждой функции продемонстрировано примерами.
"SCM ожидает ответа службы на команду управления в течение фиксированного интервала времени (60 секунд) "
В смысле? Какого ответа она ожидает? Это же дело сервиса — сообщать или нет об изменении статуса.
Если уж ждёт, то это никак не SCM, а SCP. В Win2k она ждёт 2 минуты.
Хорошо бы, если не лень, перевести также 2 статьи Руссиновича в Win2000 Magazine
Insides Win32 Services Part1 и Part2 или их часть. Думаю, на 3-ю часть "Управления системными службами потянет" :)
Здравствуйте, Александр Федотов, Вы писали:
АФ>Статья:
АФ>Авторы: АФ> Александр Федотов
АФ>Аннотация: АФ>В статье рассматриваются вопросы управления системными АФ>службами Windows NT: чтение и изменение конфигурации, запуск и остановка, установка и удаление служб. В статье описана большинство функций управления службами, использование каждой функции продемонстрировано примерами.
В функции GetStopServices стоит рекурсивный вызов для всех сервисов, полученных при первом вызове EnumDependentServices. Разве не достаточно вызвать EnumDependentServices единожды для получения полного списка зависимых сервисов? Просто если кроме останавливаемого сервиса SvcA, зависящего от SvcB, еще и SvcB зависит от SvcC, то программа пытается остановить SvcC дважды и выдает, естесственно, сообщение об ошибке .
В тексте статьи вы ограничились одним вызовом.
Здравствуйте, WilliamB, Вы писали:
WB>В функции GetStopServices стоит рекурсивный вызов для всех сервисов, полученных при первом вызове EnumDependentServices. Разве не достаточно вызвать EnumDependentServices единожды для получения полного списка зависимых сервисов? Просто если кроме останавливаемого сервиса SvcA, зависящего от SvcB, еще и SvcB зависит от SvcC, то программа пытается остановить SvcC дважды и выдает, естесственно, сообщение об ошибке . WB>В тексте статьи вы ограничились одним вызовом.
Значит, то, что в статье — правильно, а в коде — нет.