» Структура реестра

Структура реестра

Знакомиться со структурой реестра лучше всего с помощью редактора реестра. Выполните команду Пуск, Выполнить, введите команду regedit и нажмите Enter. В результате выполненных вами действий будет запущен редактор реестра. Левая панель редактора называется панелью разделов (ключей). На этой панели отображается иерархия разделов (которые также называются ключами) реестра. Правая панель — это панель параметров (она также называется панелью значений). В каждом разделе есть как минимум один параметр.

Реестр имеет пять корневых разделов: HKEY_CLASSES_ROOT, HKEY_CURRENT_USERS, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG. Названия корневых разделов (ключей) слишком-длинные, поэтому для большего удобства приняты следующие сокращения:

□ HKEY_CLASSES_ROOT — HKCR;

□ HKEY_CURRENT_USER — HKCU;

□ HKEY_LOCAL_MACHINE — HKLM;

□ HKEYJJSERS — HKU;

□ HKEY CURRENT CONFIG —HKCC.

Разделы

Каждый раздел (ключ, в англоязычной литературе — key) может содержать, как уже отмечалось, несколько параметров (values). Кроме параметров раздел может содержать вложенные подразделы. Именно поэтому иерархическая структура реестра напоминает иерархическую структуру файловой системы. Ключи реестра напоминают папки, а параметры — файлы.

Примечание

В разной литературе ключи реестра называются как разделами, так и ключами. Такое разделение произошло потому, что в англоязычной литературе (да и в англоязычной версии редактора реестра) раздел называется key (что в переводе означает ключ), а в документации по реестру на русском языке (и в самом русскоязычном редакторе реестра) раздел называется так, как и должен — разделом. Отсюда и происходит некоторая путаница. Чтобы вы привыкли к обоим названиям, в книге я буду использовать оба эти названия с одинаковой частотой.

Длина имени ключа ограничена следующим образом 512 ANSI-символов или 256 Unicode-символов.

Ограничения, думаю, понятны: один символ в Unicode занимает в два раза больше памяти (16 битов), чем в ANSI (8 битов), поэтому длина имени ключа при использовании символов Unicode будет в два раза меньше. Имя ключа может содержать любые символы, за исключением следующих символов.
Нельзя также создавать ключ с именем, которое начинается с точки, поскольку такие имена Windows резервирует для своих нужд.

Ключи могут быть связаны друг с другом. Связанные ключи похожи на ярлыки рабочего стола, которые используются для быстрого доступа к программе или документу. Аналогично, один ключ может представлять собой ссылку на другой ключ реестра. Откройте раздел HKLM\SYSTE\CurrentControlSetXHadrware Profiles. В нем будет несколько подразделов 000, 001 и т. д., которые содержат настройки профилей оборудования. Кроме то­го, здесь же присутствует раздел Current, представляющий собой ссылку на один из разделов в зависимости от выбранного при загрузке системы профиля оборудования. В свою очередь весь корневой раздел НКСС является ссылкой на раздел HKLM\SYSTEM\CurrentControISet\HadrwareProfiles\Current. Обозначение ключей-ссылок ничем не отличается от обозначения других ключей. Главный признак того, что ключ является ссылкой, появление
в разных местах реестра одинаковых ключей с одними и теми же параметрами.

Параметры

Как уже отмечалось ранее, в каждом разделе должен быть хотя бы один параметр. У каждого параметра есть три атрибута:

□ имя, уникальное в пределах раздела, то есть в одном и том же разделе не может быть двух параметров с одинаковыми именами. Имя раздела может содержать 512 ANSI-символов или 256 Unicode-символов. Как и в случае с именем раздела, имя параметра не может содержать символы \ * и ?. Имена параметров, которые начинаются с точки, зарезервированы для нужд Windows;

□ тип, определяющий тип данных, которые может принимать параметр.

□ значение — это данные, которые содержит параметр. Если параметр не содержит значения, то считается, что он содержит пустое значение — null. Длина значения зависит от выбранного типа данных.

Все эти атрибуты для каждого параметра отображаются на панели параметров. В каждом разделе есть параметр по умолчанию — (По умолчанию) ( в англоязычной версии Windows — (Default)).

Если вы внимательно прочитали таблицу, то уже поняли, что в основном вам придется работать с параметрами типов REG_SZ, REG_DWORD и REG_BINARY. Остальные или вообще нельзя редактировать с помощью редактора реестра или же они используются редко.

В таблице есть колонка Номер. Когда вы будете экспортировать разделы реестра в REG-файлы, то вместо названия типа параметра будет указан его номер. Номер типа нужно знать, если вы собираетесь редактировать REG-файл вручную (например, в Блокноте).

Реклама

Реклама