Программы-службы
Программа службы содержит исполняемый код для одной или нескольких служб. Программа службы, созданная с типом SERVICE_WIN32_OWN_PROCESS, содержит код только для одной службы. Программа службы, созданная с типом SERVICE_WIN32_SHARE_PROCESS, содержит код для нескольких служб, что позволяет им совместно использовать код. Пример программы службы, которая делает это — универсальный процесс узла службы, Svchost.exe, в котором размещаются внутренние службы Windows. Обратите внимание, что Svchost.exe зарезервированы для использования операционной системой и не должны использоваться службами, отличными от Windows. Вместо этого разработчики должны реализовать собственные программы размещения служб.
Программа-служба может быть настроена для выполнения в контексте учетной записи пользователя из встроенного (локального), основного или доверенного домена. Его также можно настроить для запуска в специальной учетной записи пользователя службы .
В следующих разделах описываются требования к интерфейсу диспетчера управления службами (SCM), которые должна включать программа службы:
Эти разделы не применяются к службам драйверов. Требования к интерфейсу служб драйверов см. в комплекте драйверов Windows (WDK).
Служба выполняется в качестве фонового процесса, который может повлиять на производительность системы, скорость реагирования, эффективность энергии и безопасность. Рекомендации по оптимизации служб см. в разделе Разработка эффективных фоновых процессов для Windows. В следующих разделах описаны дополнительные рекомендации по программированию:
- переходы состояния службы
- получение событий в службе
- многопоточных служб
- службы и реестра
- службы и перенаправленные диски
- события триггера службы
Обратите внимание, что если программа службы работает как сервер RPC, она должна использовать динамические конечные точки и взаимную проверку подлинности.