| Предыдущий | Следующий |
| ERROR_SERVICE_LOGON_FAILED | ERROR_INVALID_SERVICE_LOCK |
ERROR_SERVICE_START_HANG
ERROR_SERVICE_START_HANG (1070, 0x0000042E) означает, что служба осталась в состоянии SERVICE_START_PENDING вместо завершения запуска.
Ожидающий запуск — это протокол
Во время длительной инициализации служба должна сообщать прогресс через SERVICE_STATUS. Значение dwCheckPoint должно увеличиваться, а dwWaitHint — описывать ожидаемый интервал до следующего обновления состояния. Если оба не меняются, диспетчер управления службами или управляющая программа может считать запуск неудачным.
Что исследовать
- Ищите взаимоблокировку, заблокированную сетевую операцию, недоступную зависимость или инициализацию, выполняющуюся до обновлений состояния.
- Сравните собственный журнал запуска службы с текущим состоянием, контрольной точкой и подсказкой ожидания, сообщаемыми
QueryServiceStatusEx. - Авторам служб следует по возможности вынести дорогую инициализацию из пути диспетчера и сообщать каждый содержательно завершённый этап.
Увеличение тайм-аута может помочь действительно медленной службе, но не исправит процедуру запуска, которая вообще не продвигается.
Нужно найти другой код? Найти другой код состояния или ошибки.