Создание службы
Создание службы
Еще одной оригинальной возможностью, которой обладают INF-файлы, является упрощенное создание служб на компьютере. Для этого применяется не только ключевое слово AddService, но и специальный стандартный блок INF-файла [DefaultInstall.Services] (то есть к блоку по умолчанию добавляется строка .Services). При этом следует сказать, что этот блок не заменяет стандартный, а дополняет его. Иными словами, если в INF-файле будет два блока, то сначала выполнятся ключевые слова блока [DefaultInstall], а потом блока [DefaultInstall.Services].
Так как вам уже известно, как хранятся сведения о службе в реестре, то будет не сложно понять пример создания службы. По этой причине сначала посмотрим на листинг 15.5, который содержит часть INF-файла, регистрирующего в системе службу Восстановление системы.
Листинг 15.5. Пример регистрации службы Восстановление системы
[version]
Signature="$CHICAGO$"
[DefaultInstall.Services]
AddService=sr,,SRFlt_service,SRFlt_event
[SRFlt_service]
DisplayName = "Имяслужбы"
ServiceType = 2
StartType = 0
ErrorControl = 1
ServiceBinary = %12%sr.sys
LoadOrderGroup = "FSFilter System Recovery"
[SRFlt_event]
AddReg=SRFlt_event_addreg
DelReg=SRFlt_event_delreg
Ключевое слово AddService, в отличие от большинства других, содержит не только название блока INFфайла, описывающего службу, но и некоторые другие сведения. Формат этого ключевого слова следующий:
«название службы»,«тип службы», «блок INF-файла»
? Название службы — определяет название раздела в ветви системного реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices, в который будет заноситься информация о службе. Как известно, название этого раздела является и названием службы.
? Тип службы — указывает, является ли данная служба самостоятельной. Может принимать значения 0x01, 0x2 и 0x3.
? Блок INF-файла — определяет один или несколько блоков INFфайла (в этом случае они пишутся через запятую), в которых определены сведения о службе. В листинге 15.5 первый блок содержит информацию о службе, а второй блок регистрирует возможность записи в системные журналы Windows (оснастка Просмотр событий).
Теперь рассмотрим блок INFфайла для регистрации службы. Он может включать в себя следующие ключевые слова.
? DisplayName — имя службы, отображаемое в оснастке services.msc.
? Description — описание службы, отображаемое в оснастке services.msc.
? ServiceType — тип службы. Значение этого параметра соответствует уже рассмотренному значению параметра реестра Type (см. часть 2).
? StartType — режим запуска службы. Значение этого параметра соответствует уже рассмотренному значению параметра реестра Start.
? ErrorControl — действие при возникновении ошибки при запуске службы. Значение этого параметра соответствует уже рассмотренному значению параметра реестра ErrorControl.
? ServiceBinary — путь и имя файла службы. Значение данного ключевого слова заносится в уже рассмотренный параметр ImagePath реестра.
? Dependencies — определяет службы, необходимые для работы данной службы. Эти значения заносятся в параметр реестра DependOnService.
? LoadOrderGroup — определяет группу, к которой принадлежит данная служба. Эти значения заносятся в параметр реестра Group.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Специфический для службы код
Специфический для службы код После того как обработчик зарегистрирован и для службы установлено состояние SERVICE_START_PENDING, служба может инициализировать себя и вновь установить свое состояние. Если говорить о преобразованной версии serverSK, то сразу же после того, как сокеты
Создание и удаление службы
Создание и удаление службы Для регистрации службы следует вызвать функцию CreateService: SC_HANDLE CreateService(SC_HANDLE hSCManager, LPCTSTR lpServiceName, LPCTSTR lpDisplayName, DWORD dwDesiredAccess, DWORD dwServiceType, DWORD dwStartType, DWORD dwErrorControl, LPCTSTR lpBinaryPathName, LPCTSTR lpLoadOrderGroup, LPDWORD lpdwTagId, LPCTSTR lpDependencies, LPCTSTR lpServiceStartName, LPCTSTR lpPassword); Информация
Запуск службы
Запуск службы Созданная служба сразу не выполняется. Для этого необходимо вызвать функцию ServiceMain(), указав дескриптор, полученный при помощи функции CreateService, а также параметры командной строки argc и argv, ожидаемые основной функцией службы (то есть функцией, указанной в
Службы Интернета
Службы Интернета Представьте, что Интернет – это земной шар, где серверы представляют собой населенные пункты, а средства связи – всевозможные пути, объединяющие эти пункты. Этими путями можно пользоваться по-разному, в зависимости от поставленных целей: можно
2.3 Основные службы
2.3 Основные службы Реализация TCP/IP предполагает доступность, по крайней мере, трех прикладных служб: пересылки файлов, удаленной регистрации и электронной почты. Многие продукты имеют клиентские и серверные службы для WWW, а также функции для печати на удаленных
2.4 Дополнительные службы
2.4 Дополнительные службы К набору протоколов TCP/IP были добавлены и другие службы. Ниже рассмотрены наиболее популярные и широко
7.2.4. Сервисы (службы)
7.2.4. Сервисы (службы) После того как программа init получила номер уровня запуска, она запускает из каталога /etc/rc.d/rcN.d (N - это номер уровня запуска) ссылки вида SномерИмя (или KномерИмя - в зависимости от уровня запуска). Сейчас разберемся, что это за ссылки. Перейдите в каталог
Службы
Службы Службами являются специальные программы, с помощью которых реализуются те или иные функциональные возможности Windows. Службы, как правило, не имеют пользовательского интерфейса и выполняются в фоновом режиме. В этом они практически ничем не отличаются от
Службы
Службы В части 2 уже рассматривались как способ описания служб в реестре, так и сами службы, запускающиеся автоматически при запуске компьютера (а также ветви реестра и иногда параметры реестра, используемые этими службами). Сейчас же рассмотрим более простой способ
Системные службы
Системные службы С помощью данной политики можно указать тип запуска служб, установленных на компьютере, или вообще отключить запуск некоторых
Удаление службы
Удаление службы Для удаления службы предназначено ключевое слово DelService, которое также указывается в блоке, названном в формате [«блок удаления».Services]. Удаление службы выполняется намного проще — просто указывается имя службы, которую нужно удалить (название раздела
СЛУЖБЫ WUNDOWS
СЛУЖБЫ WUNDOWS Оповещатель (Alerter) Посылает выбранным пользователям и компьютерам административные оповещения. Если служба остановлена, программа, использующая административные оповещения их не получит. Если данная служба неразрешена, не удастся запустить любые явно
Службы
Службы Ветвь HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices содержит все сведения о сервисах и службах, установленных на компьютере. Кроме того, она хранит сведения о том, будет ли служба автоматически загружаться при входе в систему (чтобы просмотреть информацию обо всех службах и способах
10.6. Службы Интернета
10.6. Службы Интернета Всемирная Паутина«Всемирная Паутина» – лицо современного Интернета. Появление этой службы сделало работу с информацией легкой и приятной, привлекло в ряды пользователей Сети сотни миллионов людей.Чтобы узнать новости, научиться чему-нибудь или
8.3. Бесплатные службы
8.3. Бесплатные службы Для удобства пользователей в Интернете есть множество интересных и, главное, бесплатных служб. Наиболее известными и широко используемыми службами на сегодняшний день являются электронная почта, обмен сообщениями в реальном времени и бесплатное