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