Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб 2 Обзор реестра Windows XP.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
295.87 Кб
Скачать

Лабораторная 1.

Обзор реестра Windows XP

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

Д ля понимания логической структуры реестра проще всего провести аналогию со структурой файловой системы на диске. Реестр содержит ключи (keys), которые аналогичны каталогам, и параметры (values), которые можно сравнить с файлами, хранящимися на диске. Ключи реестра представляют собой контейнеры, в составе которых могут содержаться как вложенные ключи (subkeys), так и параметры. Параметры реестра (как и файлы) содержат данные. Ключи, находящиеся на верхнем уровне этой иерархической структуры, называются корневыми ключами (root keys).

Схема именования ключей и параметров реестра также заимствуется от схемы именования путей к файлам и каталогам, принятой для файловой системы. Сравните, например, типичный путь к каталогу (WORK\BHV) и типичный путь к вложенному ключу реестра (HKEY_LOCAL_MACHINE\SYSTEM \Current.GontrolSet).

Реестр Windows 2000/XP содержит 5 коревых ключей:

  • HKEY_CLASSES_ROOT,

  • HKEY_GURRENT_ USER

  • HKEY_LOCAL_MACHINE,

  • HKEY_USERS

  • HKEY_CURREKT_CONFIG.

Рис. 1.6. Иерархическая структура реестра

Все имена корневых ключей начинаются со строки HKEY_, что указывает разработчикам программного обеспечения на то, что это — дескриптор, который может использоваться программой. Дескриптор (handle) — это значение, применяемое для уникального описания ресурса, к которому программа может получить доступ. Описания корневых ключей реестра Windows NT/2000/XP приведены в табл. 1.1.

Таблица 1.1. Корневые ключи реестра

Имя корневого ключа

Описание

HKEY_LOCAL_MACHINE

Содержит глобальную информацию об аппаратных средствах и операционной системе, в том числе: тип шины, системная память, драйверы устройств и управляющие данные, используемые при запуске системы. Информация, содержащаяся в составе этого ключа, действует применительно ко всем пользователям, регистрирующимся в системе. На верхнем уровне иерархии реестра для этого ключа имеются три псевдонима:

HKEY_CLASSES_ ROOT, HKEY_CURRENT_CONFIG и HKEY_DYN_ DATA

HKEY_CLASSES_ROOT

Содержит ассоциации между приложениями и типами файлов (по расширениям имени файла). Кроме того, этот ключ хранит информацию OLE, ассоциированную с объектами СОМ, а также данные по ассоциациям файлов и классов (эквивалент реестра ранних версий Windows, служивших настройкой над MS-DOS). Параметры этого ключа совпадают с параметрами, расположенными под ключом HKEY_LOCAL_MACHINE \ Software \Classes.

Подробную информацию о ключе HKEY_CLASSES_ROOT можно найти в руководстве "OLE Programmer's Reference", входящем в состав продукта Windows Platform Software Development Kit (SDK)

HKEY_CURRENT_CONFIG

Содержит конфигурационные данные для текущего аппаратного профиля. Аппаратные профили (Hardware profiles) представляют собой наборы изменений, внесенных в стандартную конфигурацию сервисов и устройств, установленную данными ключей Software и System корневого ключа HKEY_LOCAL_MACHINE. В ключе HKEY_CURRENT CONFIG отражаются только изменения.

Кроме того, параметры этого ключа появляются также под ключом HKEY_LOCAL_ MACHINE \Systern \ CurrentControlSet \HardwareProflies \Current

HKEY_CURRENT_USER

Содержит профиль пользователя, на данный момент зарегистрированного в системе, включая переменные окружения, настройку рабочего стола, параметры настройки сети, принтеров и приложений.

Этот ключ представляет собой ссылку на ключ HKEY_ USERS\user_ SID, где user SID — идентификатор безопасности (Security ID) пользователя, зарегистрированного в системе на текущий момент

HKEY_USERS

Содержит все активно загруженные пользовательские профили, включая HKEY_ CURRENT_ USER, а также профиль по умолчанию. Пользователи, получающие удаленный доступ к серверу, не имеют профилей, содержащихся под этим ключом; их профили загружаются в реестры на собственных компьютерах.

Windows NT/2000/XP содержит все активно загруженные пользовательские профили, включая HKEY_ CURRENT_ USER, а также пользовательский профиль по умолчанию (.DEFAULT). Пользователи, получающие удаленный доступ к серверу, не имеют профилей, содержащихся под этим ключом; их профили загружаются в реестры на собственных компьютерах

Примечание

Как уже говорилось, концепция реестра впервые была введена в первой версии Windows NT— Windows NT 3.1. Реестры Windows 9x/ME берут начало от этой первой версии. Однако на текущий момент между реестрами Windows 9х/МЕ и Windows NT/2000/XP существуют серьезные различия. Наиболее очевидное из них заключается в том, что реестр Windows 95/98/ME имеет еще один ключ верхнего уровня — HKEY_DYN_DATA. Этот ключ содержит информацию о системе, которую операционные системы Windows 9x/ME должны постоянно "держать наготове", поскольку она может потребовать оперативного обновления. Эту информацию реестра Windows 9x/ME хранит в оперативной памяти, не записывая на жесткий диск. Ключ HKEY_DYN_DATA имелся во всех бета-версиях, но при попытке его открыть всегда появлялось сообщение об ошибке. В настоящее время, утилиты Regedit.exe и Regedt32.exe в Windows 2000 и Редактор реестра (Registry Editor) Windows XP (Regedit.exe) не показывают этот ключ.

Д анные реестра поддерживаются в виде параметров, расположенных под ключами реестра. Каждый параметр характеризуется именем, типом данных и собственно значением. Три части параметра реестра всегда располагаются в следующем порядке:

В табл. 1.2 перечислены типы данных, определенные и используемые в системе Windows NT/2000/XP.

Таблица 1.2. Типы данных для параметров реестра

Тип данных

Описание

REG_BINARY

Двоичные данные. Большинство аппаратных компонентов используют информацию, которая хранится в виде двоичных данных. Редакторы реестра отображают эту информацию в шестнадцатеричном формате

REG_DWORD

Данные представлены в виде значения, длина которого составляет 4 байта. Этот тип данных используют многие параметры драйверов устройств и сервисов. Редакторы реестра могут отображать такие данные в двоичном, шестнадцатеричном и десятичном формате

REG_EXPAND_SZ

Расширяемая строка данных. Она представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения

REG_MULTI_SZ

Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк, обычно имеют этот тип данных. Строки разделены символом NULL

REG_SZ

Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных

REG_DWORD_LITTLE_ENDIAN

32-разрядное число в формате "остроконечников" (little-endian). Представляет собой эквивалент типа REG_ DWORD. При использовании метода "остроконечников" самый младший байт ("little end") хранится в памяти первым в числе. Например, шестнадцатеричное число А02Вh по методу "остроконечников" сохраняется как 2ВА0.

Метод "остроконечников" используется в микропроцессорах Intel

REG_DWORD_BIG_ENDIAN

32-разрядное число в формате "тупоконечников" (big endian). В противоположность методу "остроконечников", при использовании метода "тупоконечников" первым байтом числа оказывается самый старший байт ("big end")

REG_LINK

Символическая ссылка Unicode. Этот тип данных предназначен для внутреннего использования.

Тип данных REG_ LINK особенно интересен тем, что он позволяет одному элементу реестра ссылаться на другой ключ или параметр. Например, если элемент реестра \Rootl\Link имеет параметр типа REG_LINK со значением  \Root2\RegKey, а ключ RegKey содержит параметр RegValue, то этот параметр идентифицируется двумя путями: \Rootl\Link\RegValue и \Root2\RegKey \RegValue. Windows NT/2000/XP активно использует этот метод — некоторые из корневых ключей реестра, перечисленных в табл. 1.1, являются ссылками на вложенные ключи других корневых ключей

REG_NONE

Параметр не имеет определенного типа данных

REG_DWORD

64-разрядное значение

REG_QWORD_LITTLE

_ENDIAN

64-разрядное число в формате "остроконечников". Эквивалент REG_ QWORD

REG_RESOURCE_LIST

Список аппаратных ресурсов, применяется только в ветви

HKEY_ LOCAL_ MACHINE \HARD WARE

REG_FULL_RESOURCE

_DESCRIPTOR

Дескриптор (описатель) аппаратного ресурса. Применяется только в ветви HKEY_ LOCAL_ MACHINEV HARDWARE

REG_RESOUECE_

REQUIREMENTS_ LIST

Список необходимых аппаратных ресурсов. Применяется только в ветви HKEY_ LOCAL_ MACHINS\HARDWARE