Структура реестра
Реестр — это древовидная иерархическая база данных. Он хранится в двух файлах, состав которых определяется конфигурацией системы. Обычно их два: один содержит настройки, специфичные для пользователя (файл USER.DAT), а другой — настройки, специфичные для компьютера (обычно SYSTEM.DAT). Каждый узел иерархического дерева называется ключом. Реестр напоминает файловую систему: любой ключ может содержать вложенные ключи (аналог вложенных каталогов) и данные (аналог файлов). В ключе хранится произвольное число значений данных любого типа. Каждое значение называется элементом реестра. Компоненты ключей реестра перечислены ниже.
Компонент ключа | Обязательный | Описание |
Имя | Да | Строка, используемая для доступа к ключу. Должна быть уникальной среди других ключей того же уровня иерархии |
Класс | Нет | Имя класса объекта. Предназначен для использования в коде методов класса, экземпляры которого хранятся в реестре, Приложениями обычно не используется |
Дескриптор защиты | Нет | Ключи содержат стандартные дескрипторы защиты Windows NT, допускают управление доступом и могут быть подвергнуты аудиту |
Время последней записи | Нет | Время, когда ключ был последний раз модифицирован. Любое изменение элемента считается изменением его родительского ключа |
Элемент(ы) | Нет | Информация, хранящаяся в ключе: имя для идентификации значения, тип для определения типа данных и сами данные соответствующей длины и формата |
HKEY CLASSES ROOT
Ключ HKEY_CLASSES_ROOT содержит те же данные, что и файл REG.DAT в Windows 3.1,— сведения о встраивании и связывании объектов (Object Linking and Embedding, OLE) и ассоциации файлов с приложениями, которые позволяют Windows запускать приложение, соответствующее выбранному файлу.
HKEY_LOCAL_MACHINE
Этот ключ содержит спецификации рабочей станции, драйверов и другие системные настройки, включая информацию о типах установленного оборудования, настройках портов, конфигурации программного обеспечения и т.п. Эта информация специфична для компьютера, а не для пользователя.
HKEY_CURRENT.CONFIG
Этот ключ содержит информацию о текущей конфигурации аппаратуры компьютера и используется в основном на компьютерах с несколькими аппаратными конфигурациями, например при подключении портативного компьютера к стыковочной станции и отключении от нее. Информация, содержащаяся в этом ключе, копируется из ключа HKEY_LOCAL_MACHINE.
HKEY_USERS
Это ключ содержит информацию обо всех пользователях данной рабочей станции. Здесь хранятся данные о каждом пользователе, а также типовые настройки, служащие шаблоном для новых ключей, создаваемых пользователем. Типовые настройки включают различные значения по умолчанию для программ, схем событий, конфигураций рабочего стола и т.п.
HKEY_CURRENT_USER
Этот ключ содержит настройки системы и программ, относящиеся к текущему пользователю. Он создается при регистрации пользователя в системе на основе информации из соответствующего раздела ключа HKEY_USERS. Именно здесь хранятся сведения о том, как данный пользователь сконфигурировал рабочую станцию — например, данные том, что каждый старт системы должен сопровождаться звуковым эффектом. Прочая информация может включать цветовые схемы, ярлыки, состояние рабочего стола и т.п.
HKEY_DYN_DATA
Этот ключ содержит динамическую информацию о состоянии различных устройств, причем она создается заново при каждом старте системы. Ключ HKEY_DYN_DATA используется как часть системы измерения производительности и для конфигурации устройств Plug-and-Play. Информация, содержащаяся здесь, меняется при добавлении новых устройств и удалении существующих. Для каждого устройства это данные о соответствующем аппаратном ключе, известных проблемах и текущем состоянии устройства. Ключ HKEY_DYN_DATA также содержит сведения о состоянии системы, формируемые с помощью утилиты System Monitor. Это ключ не входит в состав файлов реестра и всегда создается динамически.