Программирование для Windows NT (том 2)


         

Через параметр dwServiceType необходимо передать


Через параметр dwServiceType необходимо передать тип сервиса. Здесь вы можете указывать те же самые флаги, что и в поле dwServiceType структуры SERVICE_STATUS, описанной выше:





















































Флаг



Описание



SERVICE_WIN32_OWN_PROCESS



Сервис работает как отдельный процесс



SERVICE_WIN32_SHARE_PROCESS



Сервис работает вместе с другими сервисами в рамках одного и того же процесса



SERVICE_KERNEL_DRIVER



Сервис представляет собой драйвер операционной системы Microsoft Windows NT



SERVICE_FILE_SYSTEM_DRIVER



Сервис является драйвером файловой системы



SERVICE_INTERACTIVE_PROCESS 



Сервисный процесс может взаимодействовать с программным интерфейсом рабочего стола Desktop



В параметре dwStartType указывается один из следующих способов запуска сервиса:





















































Константа



Способ запуска



SERVICE_BOOT_START



Используется только для сервисов типа SERVICE_KERNEL_DRIVER или SERVICE_FILE_SYSTEM_DRIVER (драйверы). Указывает, что драйвер должен загружаться при загрузке операционной системы



SERVICE_SYSTEM_START



Аналогично предыдущему, но драйвер запускается при помощи функции IoInitSystem, не описанной в нашей книге



SERVICE_AUTO_START



Драйвер или обычный сервис, который запускается при загрузке операционной системы



SERVICE_DEMAND_START



Драйвер или обычный сервис, который запускается функцией StartService



SERVICE_DISABLED



Отключение возможности запуска драйвера или обычного сервиса



Параметр dwErrorControl задает действия, выполняемые при обнаружении ошибки в момент загрузки сервиса. Здесь можно указывать одно из следующих значений:













































Значение



Реакция на ошибку



SERVICE_ERROR_IGNORE



Протоколирование ошибки в системном журнале и продолжение процедуры запуска сервиса



SERVICE_ERROR_NORMAL



Протоколирование ошибки в системном журнале без продолжения процедуры запуска сервиса



SERVICE_ERROR_SEVERE



Протоколирование ошибки в системном журнале. Если это возможно, используется конфигурация, с которой сервис успешно был запущен в прошлый раз. В противном случае система перезапускается с использованием работоспособной конфигурации



SERVICE_ERROR_CRITICAL



Криичная ошибка. Сообщение при возможности записывается в системный журнал. Операция запуска отменяется, система перезапускается с с использованием работоспособной конфигурации

<

Содержание  Назад  Вперед