Некоторые параметры реестра , описывающие стандартные настройки службы, также хранятся в подразделе Parameters. К ним можно отнести два параметра: ServiceDll и ServiceDllUnloadOnStop. Первый имеет тип REG_EXPAND_SZ и определяет библиотеку, необходимую для работы данной службы. Второй же параметр имеет тип REGDWORD и определяет, будут ли выгружаться из оперативной памяти компьютера библиотеки, необходимые для работы данной службы, если сама служба была остановлена.
Кроме того, некоторые службы и драйверы хранят в своей ветви реестра подразделы Performance. В данных подразделах описывается библиотека, в которой находятся счетчики производительности соответствующей службы, а также индивидуальные параметры работы этих счетчиков. Например, в данной ветви реестра может находиться параметр REG_DWORD-типа Collect Timeout, определяющий таймаут, в течение которого счетчики должны выполнить задание и ответить на запрос состояния.
Настройки служб svchost
Как вы уже узнали, служба может работать как в собственном процессе, так и в одном из общих процессов. Это позволяет экономить ресурсы компьютера. Хотя при этом появляется другая проблема: если возникнет ошибка в работе одной из служб, то будет завершена работа общего процесса, а вместе с ним и всех служб, которые в нем работали.
Одним из общих процессов для запуска служб является процесс svchost.ехе (например, общим также является процесс services.ехе). Он также называется «универсальным» процессом. Одновременно в операционной системе может существовать несколько запущенных процессов svchost.ехе. При этом каждый из них содержит службы определенного типа (например, типа netsvcs). Данные типы служб указываются как параметр строки запуска службы, расположенной в параметре Image Path ветви службы.
Все службы, исполняемый файл которых является частью файла svchost.ехе, имеют несколько настраиваемых параметров, расположенных в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ Svchost.
Эта ветвь реестра хранит набор параметров строкового типа. Их значения определяют службы, исполняемый файл которых является частью файла svchost.ехе. Название же этих параметров определяет название дочернего подраздела ветви системного реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\ Svchost, в котором расположены настройки для этих служб. Название этих параметров также соответствуют записи SCM, под которой эти службы исполняются.
В этих подразделах могут находиться три параметра, имеющие тип REGDWORD, однако наиболее интересным из них является параметр Def aultRpcStackSize. Он определяет размер стека RPC, используемый соответствующими службами.
Основы работы драйверов
Как вы знаете, в ветви системного реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services описываются не только установленные в операционной системе службы, но и драйверы. При этом драйверы описываются с помощью тех же основных параметров реестра , что и службы. Хотя значения, присваиваемые данным параметрам, могут отличаться. Так, например, параметр Туре для драйверов может использовать только значения 1, 2 и 4. А параметр Start – значения 0 и 1.
Изменить тип запуска драйверов можно не только с помощью реестра , но и с помощью оснастки Диспетчер устройств (devmgmt.msc). Для этого вам нужно сначала включить отображение скрытых устройств (в меню Вид установить флажок Показать скрытые устройства), после чего перейти к разделу дерева оснастки Драйверы несамонастраиваемых устройств. Данный раздел содержит список всех установленных в операционной системе драйверов, которые не поддерживают технологию Plug and Play. При этом если вы отобразите окно Свойства (с помощью одноименной команды контекстного меню) любого из этих драйверов и перейдете на вкладку Драйвер, то в поле Загрузка сможете изменить тип запуска соответствующего драйвера.
...
Примечание
По умолчанию оснастка Диспетчер устройств не отображает сведения о несуществующих в данный момент устройствах или драйверах (например, если драйвер устройства был установлен, а потом устройство было извлечено из компьютера). Если же вам нужно изменить параметры именно такого устройства, то достаточно создать системную переменную DEVMGR_SHOW_NONPRESENT_DEVICES и присвоить ей значение 1. После этого вы сможете увидеть несуществующие в данный момент устройства, если в меню Вид установите флажок Показать скрытые устройства.
Для создания данной системной переменной можно воспользоваться либо реестром (создать параметр строкового типа DEVMGR_SHOW_NONPRESENT_DEVICES в ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\ Environment), либо окном Переменные среды (отображается после нажатия кнопки Переменные среды, расположенной на вкладке Дополнительно окна Свойства системы).
Читать дальше
Конец ознакомительного отрывка
Купить книгу