|
Структура
реестра
Реестр Windows 2000
состоит из пяти так называемых
корневых разделов
(root keys):
HKEY_CLASSES_ROOT,
HKEY_CURRENT_USER, HKEY_LOCAL_ MACHINE, HKEY_USERS и HKEY_CURRENT_CONFIG.
Каждый раздел может
содержать элементы данных, которые называются
параметрами
(value entries),
а также
вложенные разделы
(subkeys). Для понимания этой концепции можно
провести аналогию с файловой системой. Разделы в структуре реестра аналогичны
каталогам, а значимые элементы — файлам. Рис. 14.1 иллюстрирует иерархическую
структуру реестра Windows 2000. Все имена корневых разделов начинаются со строки
HKEY_, что указывает разработчикам программного обеспечения на то, что это —
дескриптор, который может использоваться программой.
Дескриптор
(handle)
— это значение, используемое для уникального описания ресурса, к которому программа
может получить доступ. Описания корневых разделов реестра Windows NT/2000 приведены
в табл. 1.4.1.
Таблица
14.1.
Корневые разделы реестра
|
Имя корневого раздела
|
Описание
|
|
HKEY_LOCAL_MACHINE
|
Содержит глобальную информацию о компьютерной системе,
включая такие данные об аппаратных средствах и операционной системе, в
том числе: тип шины, системная память, драйверы устройств и управляющие
данные, используемые при запуске системы. Информация, содержащаяся в этом
разделе, действует применительно ко веем пользователям, регистрирующимся
в системе Windows NT/2000. На верхнем уровне иерархии реестра для этого
раздела имеются три псевдонима: HKEY CLASSES ROOT, HKEY CURRENT CONFIG
и HKEY_DYN_DATA
|
|
HKEY_CLASSES_ROOT
|
Содержит ассоциации между приложениями и типами
файлов (по расширениям имени файла). Кроме того, этот раздел содержит
информацию OLE (Object Linking and Embedding), ассоциированную с объектами
COM, а также данные по ассоциациям файлов и классов (эквивалент реестра
ранних версий. Windows, служивших настройкой над MS-DOS). Параметры этого
раздела совпадают с параметрами, расположенными в разделе HKEY_LOCAL_MACHINE\Software\Classes.
Подробную информацию о разделе HKEY_CLASSES_ ROOT можно найти в руководстве
OLE Programmer's Reference,
входящем в состав продукта Windows
NT 4.0 Software Development Kit (SDK)
|
|
HKEY_CURRENT_CONFIG
|
Содержит конфигурационные данные для текущего аппаратного
профиля. Аппаратные профили представляют собой наборы изменений, внесенных
в стандартную конфигурацию сервисов и устройств, установленную данными
разделов Software и System корневого раздела HKEY_LOCAL_MACHINE. В разделе
HKEY_CURRENT_ CONFIG отражаются только изменения. Кроме того, параметры
этого раздела появляются также в разделе HKEY_LOCAL_MACHINE\System \CurentControlSet\HardwareProfites\CuiTent
|
|
HKEY_CURRENT_USER
|
Содержит, профиль пользователя, на данный момент
. зарегистрировавшегося в системе, включая переменные окружения, настройку
рабочего стола, параметры настройки сети, принтеров и приложений. Этот
раздел представляет собой ссылку на раздел HKEY USERS\username, где username
— имя пользователя, зарегистрировавшегося в системе на текущий момент
|
|
HKEY_USERS
|
Содержит все активно загруженные пользовательские
профили, включая HKEY_CURRENT_USER, а также профиль по умолчанию. Пользователи,
получающие удаленный доступ к серверу, не имеют профилей, содержащихся
в этом разделе; их профили загружаются в реестры на их собственных компьютерах.
Windows NT/2000 требует наличия учетных записей для каждого пользователя,
регистрирующегося в системе. Раздел HKEY_USERS содержит вложенный раздел
\Default, а также другие разделы, определяемые идентификатором безопасности
(Security ID) каждого пользователя
|
|
|
|
Рис. 14.1.
Реестр имеет иерархическую структуру, и его разделы могут
содержать вложенные разделы и параметры
|
Данные реестра хранятся
в виде параметров, расположенных в разделах реестра. Каждый параметр характеризуется
именем, типом данных и собственно значением. Три части параметра реестра всегда
располагаются в следующем порядке:
В табл. 14.2 перечислены,
типы данных, определенные и используемые в системе.
Таблица
14.2.
Типы данных для параметров реестра
|
Тип данных
|
Описание
|
|
REG_BINARY
|
Двоичные данные. Большинство аппаратных компонентов
используют информацию, которая хранится в виде двоичных данных. Редакторы
реестра отображают эту информацию в шестнадцатеричном формате
|
|
REG_DWORD
|
Данные представлены в виде значения, длина которого
составляет 4 байта. Этот тип данных используют многие параметры драйверов
устройств и сервисов. Редакторы реестра могут отображать эти данные в
двоичном, шестнадцатеричном и десятичном формате
|
|
REG_EXPAND_SZ
|
Расширяемая строка данных. Эта строка представляет
собой текст, содержащий переменную, которая может быть заменена при вызове
со стороны приложения
|
|
REG_MULTI_SZ
|
Многострочное поле. Значения, которые фактически
представляют собой списки текстовых строк в формате, удобном для восприятия
человеком, обычно имеют этот тип данных. Строки разделены символом NULL
|
|
REG.SZ
|
Текстовая строка в формате, удобном для восприятия
человеком. Значениям, представляющим собой описания компонентов, обычно
присваивается именно этот тип данных
|
|