Список записей службы
Так как каждая запись службы считывается из базы данных установленных служб, SCM создает для нее запись службы. Запись службы включает в себя:
- Имя службы
- Тип запуска (автозапуск или запуск по требованию)
- Состояние службы (см . структуру SERVICE_STATUS )
- Тип
Текущее состояние
Допустимые коды элементов управления
Код выхода
Подсказка ожидания - Указатель на список зависимостей
Имя пользователя и пароль учетной записи указываются во время установки службы. SCM сохраняет имя пользователя в реестре, а пароль — в защищенной части локального центра безопасности (LSA). Системный администратор может создавать учетные записи с паролями, срок действия которого не истекает. Кроме того, системный администратор может создавать учетные записи с истекающими паролями и управлять ими, периодически изменяя пароли.
SCM хранит две копии пароля учетной записи пользователя: текущий пароль и пароль резервной копии. Пароль, указанный при первой установке службы, сохраняется в качестве текущего пароля, а пароль резервного копирования не инициализирован. Когда SCM пытается запустить службу в контексте безопасности учетной записи пользователя, она использует текущий пароль. Если текущий пароль успешно используется, он также сохраняется в качестве резервного пароля. Если пароль изменяется с помощью функции ChangeServiceConfig или служебной программы панели управления "Службы", новый пароль сохраняется как текущий пароль, а предыдущий — в качестве резервного пароля. Если SCM пытается запустить службу и текущий пароль завершается сбоем, он использует пароль резервного копирования. Если пароль резервной копии успешно используется, он сохраняется как текущий пароль.
SCM обновляет состояние службы, когда служба отправляет уведомления о состоянии с помощью функции SetServiceStatus . SCM поддерживает состояние службы драйверов, запрашивая систему ввода-вывода вместо получения уведомлений о состоянии, как это делает служба.
Служба может регистрировать дополнительные сведения о типе, вызывая функцию SetServiceBits . Функции NetServerGetInfo и NetServerEnum получают поддерживаемые типы служб.