HKLM\SYSTEM\CurrentControlSet\Services
Информация о всех службах и драйверах


Ниже приведено опаисание процесса создания служб или редактирования их параметров. Чтобы изменения вступили в силу, нужна перезагрузка Windows.:

1. По адресу HKLM\SYSTEM\CurrentControlSet\Services создается ключ с любым названием.

2. В этом ключе создается строковый либо расширяемый строковый (на случай если в адресе используются параметры среды, например %SystemRoot%) параметр ImagePath. В нём прописывается путь к службе или драйверу. Если этого параметра нет, то Windows будет искать файл  %SystemRoot%\system32\drivers\%Имя_ключа_службы%.sys.

3. Задаётся тип службы DWORD-параметром Type:

Для драйверов (Kernel-Mode)Для служб (User-mode)
1 (драйвер устройства); 2 (драйвер файловой системы); 8 (распознаватель файловой системы)16 (служба запускает свой процесс); 32(служба выполняется в общем процессе); 256 (значение прибавляется к предыдущим, если службе разрешено взаимодействие с рабочим столом)

4. Если данная служба зависит от других служб, то создаётся мультистроковый параметр с названием "DependOnService". В него прописываются службы, от которых зависит данная служба.

5. Определяется тип запуска параметром Start:

0 — запускать драйвер загрузчиком операционной системы (NTLDR) перед началом этапа инициализации ядра (во время загрузки драйвер будет находиться в памяти);
1 — запускать драйвер при инициализации ядра (подсистемой ввода/вывода);
2 — запускать службу с помощью диспетчера управления сервисами (services.exe) после запуска диалога приветствия winlogon.exe;
3 — запускать службу тогда, когда она понадобится какой-нибудь программе или службе;
4 — отключить запуск данной службы.

Примечание:
Для User-mode служб значения 0 и 1 для параметра Start недопустимы.

6. Указать поведение системы при возникновении ошибок во время запуска данной службы. Для этого нужно присвоить параметру ErrorControl одно из значений:

0 — диспетчер ввода-вывода игнорирует возникшую ошибку, загрузка Windows продолжается.
1 — предупредить пользователя о возникшей ошибке и продолжить запуск Windows.
2 — прекратить запуск Windows и выполнить перезагрузку компьютера для запуска последней удачной конфигурации. Если это уже сделано, ошибка игнорируется.
3 — прекратить запуск Windows и выполнить перезагрузку компьютера для запуска последней удачной конфигурации. Если это уже сделано, отображается BSOD.

7. Указать имя пользователя, от имени которого будет запускаться данная служба, в строковом параметре ObjectName.

8. Указать отображаемое название и описание службы в параметрах DisplayName м Description соответственно.

По этому принципу прописываются все службы и драйвера.

Параметры некоторых системных служб:

atapi\Parameters

ПараметрЗначения
ИмяОписаниеДопустимыеРекомендуемые
EnableBigLbaВключить поддержку 48-Bit LBA0 (отключить); 1 (включить)1

i8042prt\Parameters

ПараметрЗначения
ИмяОписаниеДопустимыеРекомендуемые
CrashOnCtrlScrollПоведение при нажатии Ctrl+Scroll1 (При нажатии Ctrl+Scroll выходит BSOD); 0 (игнорировать)0

Нижеперечисленные параметры этого ключа изначально отсутствуют. Обычно они есть в ключе с параметрами мыши/клавиатуры.

WheelDetectionTimeout
SampleRate
ResendIterations
PollStatusIterations
PollingTerationsMaximum
PollingIterations
MouseSynchIn100ns
MouseResolution
MouseInitializePolled
MouseDataQueueSize
EnableWheelDetection
KeyboardDataQueueSize


Примечание: некоторые материалы взяты отсюда