октября 12 2009 by admin in Службы
Приложение SuperSCP («04 SuperSCP.exe») — это программа управления службами, делающая со службами практически все, что только можно пожелать. Файлы с исходным кодом и ресурсами этого приложения находятся в каталоге 04-SuperSCP на прилагаемом к книге диске. При запуске программы появится окно.
Во время инициализации приложение запрашивает имя локального компьютера и помещает его в поле Machine. Затем оно [...]
октября 12 2009 by admin in Службы
В Windows есть еще несколько функций управления службами. Чтобы наше обсуждение было полным, я кратко их опишу.
Одна из функций определяет отображаемое имя функции по ее внутреннему имени.
Модульный компонент Services применяет эту функцию для заполнения списка установленных служб. Первый ее параметр, hSCManager, идентифицирует SCM, чьи службы будут перечисляться, второй — InfoLevel — нужно установить в SC_ENUM_INFO, [...]
октября 12 2009 by admin in Службы
При внесении изменений в службы из БД SCM вам, возможно, потребуется временно остановить запуск других служб, заблокировав SCM. Отличный момент для блокировки — перед запросом конфигурации службы и ее изменением. Кроме того, блокировка может пригодиться, если ваша служба зависит от других служб. Чтобы запретить SCM запускать службы, нужно выполнить функцию LockServiceDatabase, передав ей описатель, полученный [...]
октября 12 2009 by admin in Службы
Функция CreateService создает в БД SCM новую запись. Возможно, хотя и маловероятно, что вам придется изменять сведения в этой БД. Например, если изменился пароль учетной записи пользователя, связанной со службой, или вы Xvothtc запускать ее автоматически, а не вручную. Что ж, в Windows есть четыре функции для настройки службы. Первая, QueiySeruiceConfig, получает из БД SCM [...]
октября 12 2009 by admin in Службы
Как я уже говорил, многие службы выпускаются вместе с клиентским приложением, позволяющим администраторам запускать, завершать, приостанавливать, продолжать и другими методами контролировать работу огужбы. Написать такую программу очень просто. Работает она так: сначала открывает SCM на нужном компьютере, вызвав для этого функцию OpenSCManager с правом доступа SC_MANAGER_CONNECT. Затем такая программа открывает службу с помощью OpenService, используя [...]
октября 12 2009 by admin in Службы
Хороший программный пакет должен поддерживать не только свою установку, но и удаление из системы. Поэтому вам нужно знать и об удалении службы. Удаляемую службу нужно сначала открыть:
SC_HANDLE OpenService( SC_HANDLE hSCManager, PCTSTR pszInternalName, DWORD dwDesiredAccess);
В функцию OpenService нужно передать [...]
октября 12 2009 by admin in Службы
амая распространенная операция с БД SCM — добавление службы. Чтобы ее выполнить, нужно вызвать OpenSCManager, указав доступ SC_MANAGER_CREA-ТЕ SERVICE, после чего вызвать функцию CreateService.
Как видите, у CreateSewice параметров много (если точно — 13). Первый — hSCManager — это описатель, возвращенный функцией OpenSCManager. Следующие два —pszServiceName и pszDisplayName — определяют название службы. Таких названий два: внутреннее [...]
октября 12 2009 by admin in Службы
При создании службы, как правило, приходится разрабатывать и приложение, с помощью которого администраторы будут ею управлять. Такие приложения до;1жны использовать описываемые в этой главе функции. Кроме того, они должны помогать администратору и в других аспектах работы со службами, например, в их настройке и публикации в Active Directory. В идеале администрирующие приложения реализуются в виде модульных [...]
октября 12 2009 by admin in Службы
Демонстрационное приложение TimeClient («03 TimeClient.exe») проверяет службу Time Service . Исходный код и файлы ресурсов этого приложения см. в каталоге ОЗ-TimeClient на прилагаемом компакт-диске. При запуске этой программы появляется диалоговое окно.
Чтобы увидеть, как клиент взаимодействует с сервером, вам нужно указать имя сервера в поле редактирования в верхней части диалогового окна. Если клиент и сервер работают [...]
октября 12 2009 by admin in Службы
Пример службы TimeService («03 TimeService.exe») содержит все компоненты, необходимые для построения службы. Исходный код и файлы ресурсов этого приложения см. в каталоге ОЗ-TimeService на прилагаемом компакт-диске. Эта простейшая служба возвращает дату и время серверной машины, когда к ней подключается клиент. Предполагается, что вы имеете представление об именованных каналах и портах завершения ввода-вывода .
Просмотрев функцию JWinMain, [...]