А HKEY, как следует из ее расшифровки, — дескриптор раздела, указывающий на инструмент, при помощи которого предоставляется доступ к данному уровню реестра. Если же слово «куст» вызывает у вас неприятные ассоциации, то можете вместо него использовать термин «улей» (hive), распространенный в англоязычной документации. Куст состоит из разделов, подчиненных разделов и параметров, а также имеет корни на верхнем уровне иерархии реестра.
В системе Windows 98 реестр хранился в двух файлах (SYSTEM.DAT и USER.DAT), а вот Windows XP устроена намного сложнее. В ней уже не сделаешь резервные копии реестра, сохранив всего два вышеупомянутых файла. Впрочем, реестр в Windows XP организован куда логичнее: практически каждый куст является файлом, его можно перемещать и редактировать. Кусты реестра, к которым система обращается наиболее часто, расположены следующим образом:
куст HKEY_LOCAL_MACHINE\
System — файл Windows\system32\config\system;
куст HKEY_LOCAL_MACHINE\SAM — файл Windows\system32\config\sam;
куст HKEY_LOCAL_MACHINE\Security — файл Windows\system32\config\security;
куст HKEY_LOCAL_MACHINE\Software — файл Windows\system32\config\software;
куст HKEY_CURRENT_USER — файл <профиль пользователя>\ntuser.dat;
куст HKEY_CURRENT_CONFIG — файл Windows\system32\config\system;
куст HKEY_USERS\.DEFAULT — файл Windows\system32\config\default.
Помимо основных файлов, к реестру относятся вспомогательные, имеющие расширения LOG, ALT и SAV. LOG-файл содержит список изменений, которые были сделаны пользователем в определенном кусте за последний сеанс работы. ALT-файл — это резервная копия куста HKEY_LOCAL_MACHINE\System, используемая системой Windows для восстановления работоспособной конфигурации. Наконец, в SAV-файлах хранится содержание кустов на момент запуска ОС (только ntuser.dat не имеет такого файла). Они нужны системе для того, чтобы после сбоя восстанавливать удачные параметры.
Реестр является одной из главных составных частей Windows XP. В нем содержатся не только параметры программных и аппаратных компонентов системы, но и сведения о ней. Иными словами, при помощи реестра можно отредактировать практически все. Поэтому структура его достаточно сложна. Если бы он не состоял из разделов, а представлял собой единый информационный массив, то реально пользоваться им умели бы лишь настоящие гуру. Кстати, кусты и разделы — это вовсе не одно и то же. Кусты — это файловые составляющие раздела, которые при загрузке системы собираются в единую древовидную структуру.
К нашему счастью, Microsoft всегда думает о простых пользователях. И это вовсе не ирония: если у компании не все получается так, как нам хотелось бы, то виной тому обстоятельства, о которых я рассказал в начале статьи
Раздел HKEY_CLASSED_ROOT является пользовательским. Может быть, именно поэтому с ним всегда довольно сложно работать. Здесь содержатся данные о модели многокомпонентных объектов (Component Object Model, или COM), а она лежит в основе технологии ActiveX. Под компонентом в данном контексте я подразумеваю все что угодно, от простейшего текстового файла до низкоуровневого объекта. Именно тут находятся записи о типах файлов и ассоциированных с ними приложениях.
Одни записи содержат информацию о расширениях имен файлов. Причем, поскольку Windows XP поддерживает длинные имена, в реестре задаются типы расширений, состоящих более чем из трех символов. Также эти записи указывают на определенные операции, которые могут выполняться с файлами того или иного типа. Другие записи определяют приложения, используемые для открытия файлов разных типов. В общем случае компоненты расширения могут описывать какие угодно элементы, выполняющие специальные операции. Но обычно указывается только приложение, вызываемое для открытия файлов определенного типа по умолчанию. Также здесь перечислены приложения, являющиеся для данного типа дополнительными. Например, можно определить, какие именно пункты будут находиться в контекстном меню, вызываемом кликом правой кнопки мыши по иконке, ассоциируемой с конкретным типом файла.
Раздел HKEY_CURRENT_USER посвящен настройкам программного обеспечения, соответствующим текущей учетной записи. Именно здесь находится информация, определяющая параметры работы меню «Пуск», конфигурацию "Рабочего стола" и цветовые схемы интерфейса. Данные часто обновляются, и вот по какой схеме: из пользовательского раздела HKEY_USERS в HKEY_CURRENT_USER копируются записи, меняющиеся в процессе работы, причем окончательный вариант сохраняется в HKEY_USERS по завершении сеанса.