Что означает код ошибки Windows 1056 (ERROR_SERVICE_ALREADY_RUNNING)?

 
Также может означать:
КонстантаТипОС
XBOX_360_SYSTEM_CRASH_RESERVEDКод BSODWindows
Предыдущий Следующий
ERROR_SERVICE_DATABASE_LOCKED ERROR_INVALID_SERVICE_ACCOUNT

ERROR_SERVICE_ALREADY_RUNNING

Служба уже запущена

StartService просит SCM запустить службу; этот вызов не является идемпотентной операцией «обеспечить запуск». Если служба уже работает, Windows может вернуть ERROR_SERVICE_ALREADY_RUNNING вместо запуска второго экземпляра службы.

Автоматизация должна запросить текущее состояние, прежде чем решать, является ли такой результат успехом, конфликтом или признаком гонки. Также учитывайте START_PENDING: параллельный контроллер мог уже запустить службу, и второму вызывающему следует дождаться перехода состояния, а не повторять запуск. Если продукт действительно ожидает несколько экземпляров, каждой независимо управляемой службе Windows нужен собственный объект и имя службы, либо исполняемый файл должен реализовать собственную многоэкземплярную модель вне идентичности службы SCM.

Что проверить

  • Запросите текущее состояние и обрабатывайте RUNNING и START_PENDING отдельно.
  • Сериализуйте конкурирующие запросы запуска или явно сделайте контроллер идемпотентным.
  • Не ожидайте, что SCM создаст второй экземпляр одного объекта службы.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.