СТРУКТУРА РЕЕСТРА
Системный реестр – регистрационная база данных, хранящая различные настройки ОС и приложений. В более ранних версиях Windows все настройки (настройки конфигурации) сохранялись в информационных файлах (INI-файлах), точно так же как и в большинстве Windows-приложений. Однако Windows изменилась и теперь эти файлы не используются операционной системой, т.к. существует реестр, который представляет всю иерархию, необходимую для управления такой сложной операционной системой (рис.1).
|
Рис.1. Реестр использует многие компоненты Windows
Изначально реестр был предназначен только для хранения сведений об объектах OLE (Object Linking and Embedding — связь и внедрение объектов) и сопоставлений приложений расширениям имен файлов, однако позже его структура и границы использования расширились.
Достоинства реестра.
1. Системный реестр обеспечивает также работу в сети и дает отдельным пользователям возможность сохранять выбранные ими глобальные параметры, благодаря чему в приложениях появляется возможность специальной настройки пользовательского интерфейса для конкретного пользователя. Данные системного реестра могут храниться централизовано и импортироваться в системный реестр рабочей станции во время регистрации пользователя в системе. Совершенно аналогично, системный администратор имеет удаленный доступ к системным реестрам рабочих станций для разрешения возникших конфликтов.
2. Используя системный реестр, можно связать определенные действия командного процессора (в частности, open и print) с соответствующими типами документов. А когда пользователь выполняет щелчок правой кнопкой мыши на пиктограмме документа в проводнике Windows Explorer, то в этом случае появляется контекстное меню, в котором перечислены определенные программные действия.
3. Возможность OLE-регистрации, поддержки локализованных версий приложений, применение сетевых протоколов и связывания, а также поддержка автоматической настройки приложений.
Формат отображения данных в системном реестре весьма похож на то, как папки и документы отображаются в проводнике Windows Explorer. Отчасти это связано с тем, что структура системного реестра подобна структуре каталогов (рис.2).
Реестр хранится в бинарном (двоичном) виде, поэтому для ручной работы с ним необходима специальная программа — редактор системного реестра (regedit). Один из способов исследования содержимого системного реестра связан с применением программы REGEDIT, утилиты компании Microsoft, которая обеспечивает возможность изменения содержимого системного реестра, а также соединения с системными реестрами других компьютеров.
|
Рис.2. Структура реестра |
Если прибегнуть к терминологии, используемой в системном реестре, то ЭКВИВАЛЕНТОМ ПАПКИ ИЛИ КАТАЛОГА здесь является КЛЮЧ или РАЗДЕЛ (KEY), а ДОКУМЕНТУ ИЛИ ФАЙЛУ соответствуют ПАРАМЕТР (VALUE). Разделы могут содержать как вложенные разделы (sub keys), так и параметры (рис.3). На верхнем уровне этой иерархии находятся корневые разделы (root keys).
|
Рис.3 Подразделы и параметры подобны папкам и файлам |
Каждый ключ может содержать как ключи более низкого уровня, так и конечные элементы данных. При необходимости приложение открывает ключ и использует данные, сохраненные в нем. Ключи, которые содержатся в других ключах, называются подключами данного ключа.
На рис.4 показана взаимосвязь между ключами и значениями в системном реестре.
|
На рис.5 показан верхний уровень системного реестра Windows, а в табл.1 перечислены корневые ветви системного реестра, а также приведено их назначение и взаимосвязь с другими ветвями.
|
Таблица 1 Корневые разделы системного реестра
№ п/п | Раздел (аббревиатуры) | Описание |
HKEY_CLASSES_ROOT (HKCR) | Этот раздел содержит определения типов документов, связей с файлами и интерфейса командного процессора.В Windows NT/9x этот ключ является составной частью ключа HKLM.В Windows XP информация о регистрации класса хранится в обоих ключах HKEY_LOCAL_MACHINE и HKCU. При этом ключ HKCR объединяет содержимое указанных ключей в единой папке | |
HKEY_CURRENT_USER (HKCU) | С помощью этого ключа осуществляется доступ к пользовательским конфигурациям, программному обеспечению. Устанавливает связь с ключом HKEY_USERS, который соответствует параметрам настройки текущего пользователя. Для стандартных пользователей, у которых отсутсвуют особые параметры настройки используются параметры настройки пользователя типа .Default. | |
HKEY_LOCAL_MACHINE (HKLM) | Хранит аппаратные конфигурации, сетевые протоколы и классы программного обеспечения | |
HKEY_USERS (HKU) | Используется для хранения выбранных пользователями глобальных параметров, а также параметров настройки рабочего стола. При этом выбранные пользователями глобальные параметры должны хранится в подключе Software подключа каждого пользователя, содержащегося в ключе HKEY_USERS. | |
HKEY_CURRENT_CONFIG (HKCC) | Этот ключ устанавливает связь с ключом отображения, входящим в состав подключа выбранной конфигурации config, содержащегося в ключе HKLM | |
HKEY_DYN_DATA (HKDD) | Используется только в Windows 9x. Здесь хранятся динамические данные о состоянии различных устройств, установленных на компьютере пользователя. | |
HKEY_PERFORMANCE_DATA (HKPD) | Используется только в Windows 2000. Аналогичен ключу HKEY_DYN_DATA, который используется в Windows 9x. |
Рассмотрим соответствующие разделы более детально.
1. HKEY_CLASSES_ROOT
Приложение Windows должно использовать системный реестр для хранения в разделе HKEY_CLASSES_ROOT данных следующих классов:
• Типы документов. Это различные типы документов, которыми манипулирует конкретное приложение.
• Идентификатор класс. OLE. Это класс OLE, который определяется конкретным приложением. В процессе установки данного приложения он должен быть зарегистрирован с помощью OLE.
• Имена команд OLE. Это протокол OLE. Каждое имя команды описывает действие, которое может выполнить объект. Например, MPLAYER позволяет воспроизводить звуковой файл формата .WAV.
• Протоколы командного процессора. Это действия, которые могут быть вызваны командным процессором. Возможные варианты выбора действий отображаются в контекстных меню, выводимых на экран при выполнении пользователем щелчка правой кнопкой мыши на пиктограмме документа.
• Пиктограмма, которая показывается для отображения документа. В этом случае должны быть предоставлены две пиктограммы — большая и малая. А использоваться будет та из них, которой пользователь отдаст наибольшее предпочтение.
При рассмотрении этой ветви следует особое внимание обратить на ключи командного процессора, содержащие три следующих подключа:
- open– содержит команду, используемую для открытия (или запуска) документа;
- print– содержит команду, которая отправляет документ на печать;
- printto – содержит специальный интерфейс, который обеспечивает возможность передачи документа на принтер путем перетаскивания.
У каждого из этих подключей имеется подключ под названием command. В качестве ключа командного процессора может быть зарегистрировано любое число имен команд. Эти имена команд отображаются в контекстом меню, которое появляется всякий раз, когда пользователь выполняет щелчок правой кнопкой мыши на пиктограмме документа.
2. HKEY_CURRENT_USER
Раздел HKEY_CURRENT_USER содержит множество настроек программного обеспечения, в которых хранится информация о конфигурации рабочего стола и клавиатуры. Кроме того, в этом разделе есть информация о параметрах меню Пуск. Здесь - все настройки, специфичные для пользователя.
Раздел HKEY_CURRENT_USER полностью посвящен настройкам текущего пользователя, т.е. того пользователя, который в настоящий момент зарегистрирован в системе. Это отличается от пользовательской конфигурационной информации, которая хранится в других разделах реестра. Информация в этом разделе является динамической; информация в других разделах, которая относится к пользовательским настройкам - статическая. Реестр копирует содержимое одного из подразделов из HKEY_USERS в данный раздел и по окончании работы обновляет раздел HKEY_USERS.
Этот корневой раздел является ссылкой на подраздел HKU\SID, где SID – идентификатор безопасности пользователя, вошедшего в систему, воспользовавшись диалоговым окном Вход в Windows (LogOntoWindows). Он никогда не связывается с любым подразделов раздела HKEY_USERS, созданных Windows для поддержания вторичного доступа. Необходимо не путать подраздел HKU\SID с подразделом HKU\SID_Classes, содержащий соответствия файлов и классы COM для определённого пользователя.
Ниже приведено краткое описание подразделов корневого раздела HKEY_CURRENT_USER (табл.2).
Таблица 2 Подразделы корневого раздела HKEY_CURRENT_USER
AppEvents | Назначает звуковое сопровождение различным событиям, таким как вход в систему, раскрытие меню или закрытие окна. Звуковое сопровождение выбирается пользователями с помощью аплета Звук и мультимедиа (Sound) окна Панель управления. |
Console | Содержит свойства окна консоли, например окна командной строки MS DOS. Пользователи настраивают эти свойства, выбирая команду Свойства (Properties) из контекстного меню окна. |
ControlPanel | Содержит параметры, изменяемые пользователями в окне Панель управления (Control Panel). В качестве примера можно привести параметры электропитания, оформления рабочего стола и специальных возможностей. Не все параметры этого подраздела настраиваются в окне Панель управления (Control Panel) и не все параметры окна Панель управления (Control Panel) содержатся в этом подразделе. |
Environment | Содержит переменные среды, настроенные пользователями с помощью аплета Система (System) окна Панель управления (Control Panel). |
Identities | Содержит подразделы для всех удостоверений пользователей, созданных в Microsoft Outlook Express. Удостоверения упрощают совместное использование одного почтового клиента, так как каждому из них могут назначаться отдельные папки для хранения почты, адресная книга и другие настройки. Пользователи могут изменять эти настройки, выбирая команду Удостоверения (Identifies) из меню Файл (File) Microsoft Outlook Express. |
KeyboardLayout | Определяет текущую раскладку клавиатуры. Пользователи изменяют параметры раскладки клавиатуры с помощью аплета Клавиатура (Keyboard) окна Панель управления (Control Panel). |
Network | Содержит подразделы для всех сетевых соединений. Таким образом, здесь присутствуют также и подключённые сетевые диски. Для создания сетевых соединений пользователи выбирают команду Подключить сетевой диск (Map Network Drive) из контекстного меню значка Мой компьютер (My Computer). |
Printers | Здесь содержатся ведения о принтерах, с которыми может работать пользователь. Пользователи настраивают эти параметры с помощью аплета Принтеры (Printers) окна Панель управления (Control Panel). |
RemoteAccess | Определяет параметры удалённого доступа к сети, которые настраиваются пользователями на вкладке Подключение (Connections) диалогового окна Свойства: Интернет (Internet Options), которое открывается в результате щелчка на значке Свойства обозревателя (Internet Options) в окне Панель управления (Control Panel). |
Software | Содержит пользовательские настройки для каждого приложения, включая собственно и Windows. За исключением нескольких приложений от Microsoft, не следующих собственным правилам этой компании, многие приложения сохраняют свои настройки в подразделе Vendor/Application, где Vendor – имя компании-производителя приложения, а Application – имя этого приложения. Эти производители также следуют такому правилу, как добавление дополнительного подраздела Version, что позволяет каждой версии приложения отдельно сохранять собственные настройки. |
UNICODEProgramGroups | Здесь содержатся настройки для групп программ, унаследованные от ранних версий Windows NT, использующих программу Диспетчер программ (Program Manager). При чистой установке Windows XP этот подраздел всегда пустой. |
VolatileEnvironment | Здесь содержатся переменные среды, используемые в процессе входа в систему. |
Windows 3.1MigrationStatus | Здесь представлены сведения о состоянии миграции программных групп и информационных файлов после обновления Windows 3.1. Этот ключ всегда присутствует, но не имеет важного значения, так как компания Microsoft не поддерживает обновление Windows 3.1 до Windows 2000. |
3. HKEY_LOCAL_MACHINE