Параметр Start. Параметр ErrorControl.
В каждом из подразделов Services, содержащихся в разделе HKEY_LOCAL_ MAСHINE\SYSTEM\<control set> \ Services \DriverName, содержится параметр Start, определяющий порядок запуска драйвера или сервиса. Он может иметь следующие значения:
- Boot (0x0, загрузка). Загрузка драйвера или сервиса осуществляется загрузчиком операционной системы (NTLDR или OSLOADER) перед инициализацией ядра. В качестве примера драйверов с таким режимом загрузки можно привести драйверы дисков.
- System (0x1, система). Загрузка осуществляется подсистемой ввода/вывода во время инициализации ядра. В качестве примера драйверов, использующих этот тип значения, можно назвать драйверы мыши.
- Auto load (0x2, автомат). Драйвер (сервис) загружается Диспетчером служб (Service Control Manager). Так загружаются сервисы, которые должны стартовать автоматически при любых обстоятельствах запуска системы, вне зависимости от типа сервиса. В качестве примера можно привести драйверы устройств, работающих через параллельный порт. Одним из сервисов, использующих это значение, является сервис Alerter.
- Load on Demand, Manual (0x3, вручную). Драйвер (сервис) загружается Диспетчером служб только в случае получения явной инструкции на загрузку. Сервисы этого типа доступны всегда, но загружаются только когда пользователь запускает их (например, используя оснастку Службы (Services)).
- Disabled (0x4, запрет). Драйвер (сервис) не загружается. Windows 2000 устанавливает в этот режим драйверы устройств в случае невозможности их загрузки Диспетчером служб (например, в случае, когда не установлены соответствующие аппаратные средства). Если параметр имеет это значение, Диспетчер служб не загружает соответствующий драйвер или сервис. Единственным исключением являются драйверы файловых систем, I которые загружаются, даже если для них установлено значение Start = 0x4.
Параметр ErrorControl
Ниже перечислены все возможные значения, которые может принимать параметр ErrorControl, находящийся в разделе реестра HKEY_LOCAL_ MACHINE\SYSTEM\<control set>\ Services \DriverName:
- Ignore (0x0). Если при загрузке или инициализации драйвера устройства происходит ошибка, процедура запуска продолжается без вывода сообщения об ошибке.
- Normal (0x1). Если при загрузке или инициализации драйвера устройства происходит ошибка, процедура запуска продолжается после вывода сообщения об ошибке. Параметры ErrorControl для большинства драйверов устройств устанавливаются равными этому значению.
- Severe (0x2). Когда ядро обнаруживает ошибку загрузки или инициализации этого драйвера или сервиса, происходит переключение на набор управляющих опций LastKnownGood. После этого процесс запуска стартует с начала. Если набор управляющих параметров LastKnownGood уже используется, процедура запуска продолжается, а ошибка игнорируется.
- Critical (0x3). Используется та же процедура, что и при значении Severe, с тем исключением, что если переключение на набор управляющих опций уже произошло, но ошибка не ликвидирована, процесс загрузки останавливается, и выводится сообщение о сбое.