| Предыдущий | Следующий |
| ERROR_INVALID_DOMAINNAME | ERROR_INVALID_NETNAME |
ERROR_INVALID_SERVICENAME
Формат имени службы недопустим
CreateService использует имя службы как идентификатор в базе данных SCM. Согласно документации Microsoft, максимальная длина составляет 256 символов; прямая и обратная косая черта недопустимы в имени службы, а сравнение выполняется без учёта регистра, хотя исходный регистр сохраняется.
Проверяйте внутреннее имя службы до вызова API SCM и храните его отдельно от отображаемого имени, показываемого средствами управления. Системы развёртывания иногда по ошибке передают в поле имени службы путь к файлу, отображаемую подпись или строку с квалификатором арендатора. Записывайте оба поля в журнал раздельно. Если имена генерируются, заранее определите ограниченный набор символов и детерминированное ограничение длины, чтобы код обновления и удаления вычислял тот же идентификатор, что и исходный установщик.
Что проверить
- Проверяйте длину внутреннего имени службы и отклоняйте символы косой черты.
- Не подставляйте вместо имени службы отображаемое имя или путь к исполняемому файлу.
- Используйте одно и то же детерминированное правило именования при установке, обновлении, запросе и удалении.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.