| Предыдущий | Следующий |
| ERROR_INVALID_SERVICE_CONTROL | ERROR_SERVICE_NO_THREAD |
ERROR_SERVICE_REQUEST_TIMEOUT
ERROR_SERVICE_REQUEST_TIMEOUT (1053, 0x0000041D) означает, что диспетчер управления службами не получил требуемый ответ при запуске службы или передаче управляющего запроса.
Что обычно означает тайм-аут
Когда Windows запускает процесс службы, ожидается, что он своевременно вызовет StartServiceCtrlDispatcher. Тайм-аут может означать, что процесс службы запустился, но не подключился к диспетчеру управления службами, либо что поток диспетчера заблокирован во время выполнения обработчика управления.
Управляющие уведомления обрабатываются диспетчером управления службами последовательно. Поэтому обработчик, выполняющий длительную работу непосредственно, может задержать не связанные с ним запросы запуска или управления и вызвать их завершение с этим кодом. Обработчик должен передать продолжительную работу другому потоку и быстро вернуть управление.
Как исследовать
- Проверьте системный журнал событий и собственный журнал службы на первую ошибку, а не считайте код 1053 первопричиной.
- Используйте QueryServiceStatusEx, чтобы проверить текущее состояние, интервал ожидания и контрольную точку во время запуска или остановки службы.
- Для медленной, но в остальном исправной службы убедитесь, что инициализация правильно сообщает о ходе работы. Увеличение
ServicesPipeTimeoutможет служить временным обходным решением, но не должно скрывать взаимоблокировку или заблокированный обработчик управления.
См. также: рекомендации Microsoft по медленному запуску служб.
Нужно найти другой код? Найти другой код состояния или ошибки.
