Автоматическое запуск служб
Во время загрузки системы SCM запускает все службы автоматического запуска и службы, от которых они зависят. Например, если служба автозапуска зависит от службы запуска по запросу, служба запуска по запросу также запускается автоматически.
Порядок загрузки определяется следующим образом:
Порядок групп в списке групп сортировки нагрузки. Эти сведения хранятся в значении списка в следующем разделе реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder
Чтобы указать группу упорядочивания нагрузки для службы, используйте параметр lpLoadOrderGroup функции CreateService или ChangeServiceConfig.
Порядок служб в группе, указанной в векторе порядка тегов. Эти сведения хранятся в следующем разделе реестра:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList
Зависимости, перечисленные для каждой службы.
По окончании загрузки система выполняет программу проверки загрузки, которая указана в значении ImagePath следующего ключа реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BootVerificationProgram.
По умолчанию это значение не задано. Система просто сообщает, что загрузка была успешной после входа первого пользователя. Вы можете предоставить программу проверки загрузки, которая проверяет систему на наличие проблем и сообщает о состоянии загрузки SCM с помощью функции NotifyBootConfigStatus.
После успешной загрузки система сохраняет клон базы данных в последней известной конфигурации (LKG). Система может восстановить эту копию базы данных, если изменения, внесенные в активную базу данных, вызывают сбой перезагрузки системы. В этом списке приведен ключ реестра для данной базы данных:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Услуги
где XXX — это значение, сохраненное в следующем значении реестра: HKEY_LOCAL_MACHINE\System\Select\LastKnownGood.
Если служба автоматического запуска с уровнем управления ошибками SERVICE_ERROR_CRITICAL не запускается, SCM перезагружает компьютер с помощью конфигурации LKG. Если конфигурация LKG уже используется, загрузка завершается ошибкой.
Службу автозапуска можно настроить как отложенную службу автозапуска, вызвав функцию ChangeServiceConfig2 с SERVICE_CONFIG_DELAYED_AUTO_START_INFO. Это изменение вступает в силу после следующей загрузки системы. Дополнительные сведения см. в SERVICE_DELAYED_AUTO_START_INFO.