Как и реестры систем Windows NT/2000/XP, реестр Windows Server 2003 состоит из пяти так называемых корневых ключей (root keys):
Каждый отдельный ключ может содержать элементы данных, которые называются параметрами (value entries), а также дополнительные вложенные ключи (subkeys). Для понимания этой концепции можно провести аналогию с файловой системой. Ключи в структуре реестра аналогичны каталогам, а значимые элементы — файлам. Рис. 24.1 иллюстрирует иерархическую структуру реестра.
Рис. 24.1. Реестр имеет иерархическую структуру, и его ключи могут содержать вложенные ключи и параметры
Все имена корневых ключей начинаются со строки HKEY_, что указывает разработчикам программного обеспечения на то, что это — дескриптор, который может использоваться программой. Дескриптор (handle) — это значение, используемое для уникального описания ресурса, к которому программа может получить доступ. Описания корневых ключей реестра Windows NT/2000/XP и Windows Server 2003 приведены в табл. 24.1.
Таблица 24.1. Корневые ключи реестра
Имя корневого ключа | Описание |
| |
HKEY_LOCAL_MACHINE | Содержит глобальную информацию о компьютерной системе, включая такие данные об аппаратных средствах и операционной системе, как: тип шины, системная память, драйверы устройств и управляющие данные, используемые при запуске системы. Информация, содержащаяся в этом ключе, действует применительно ко всем пользователям, регистрирующимся в системе. На верхнем уровне иерархии реестра для этого ключа имеются три псевдонима: HKEY_CLASSES_ROOT, HKEY CURRENT_CONFIG И HKEY_DYN_DATA | ||
HKEY_ CLASSES_ ROOT | Содержит ассоциации между приложениями и типами файлов (по расширениям имени файла). Кроме того, этот ключ содержит информацию OLE (Object Linking and Embedding), ассоциированную с объектами СОМ, а также данные по ассоциациям файлов и классов (эквивалент реестра ранних версий Windows, служивших настройкой над MS-DOS). Параметры этого ключа совпадают с параметрами, расположенными под ключом HKEY_LOCAL_MACHINE \ Sof tware\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\System \CurrentControlSet\HardwareProfiles\Current | ||
HKEY_CURRENT USER | Содержит пользовательский профиль пользователя, на данный момент зарегистрировавшегося в системе, включая переменные окружения, настройку рабочего стола, параметры настройки сети, принтеров и приложений. Этот ключ представляет собой ссылку на ключ HKEY_USERS \user SID, где user SID— идентификатор безопасности (Security ID, SID) пользователя, зарегистрировавшегося в системе на текущий момент | ||
HKEY_USERS | Содержит все активно загруженные пользовательские профили, включая HKEY_CURRENT_USER, а также профиль по умолчанию. Пользователи, получающие удаленный доступ к серверу, не имеют профилей, содержащихся под этим ключом; их профили загружаются в реестры на их собственных компьютерах. Операционная система требует наличия учетных записей для каждого пользователя, регистрирующегося в системе. Ключ HKEY_USERS содержит вложенный ключ \Default, а также другие ключи, определяемые идентификатором безопасности (Security ID) каждого пользователя |
Тип данных |
Описание |
REG_BINARY |
Двоичные данные. Большинство аппаратных компонентов используют информацию, которая хранится в виде двоичных данных. Редакторы реестра отображают эту информацию в шестнадцатеричном формате |
REG_DWORD |
Данные представлены в виде значения, длина которого составляет 4 байта. Этот тип данных используют многие параметры драйверов устройств и сервисов. Редакторы реестра могут отображать эти данные в двоичном, шестнадцатеричном и десятичном формате |
REG_EXPAND_SZ |
Расширяемая строка данных. Эта строка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения |
REGJMULTI_SZ |
Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют этот тип данных. Строки разделены символом NULL |
REG_SZ |
Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных |
REG_DWORD_ LITTLE_ENDIAN |
32-разрядное число в формате "остроконечников" (little-endian). Представляет собой эквивалент REG DWORD. При использовании метода "остроконечников" самый младший байт ("little end") хранится в памяти первым в числе. Например, шестнадцатеричное число A02Bh по методу "остроконечников" сохраняется как 2ВАО. Метод "остроконечников" используется в микропроцессорах 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 и Windows Server 2003 активно использует этот метод — некоторые из корневых ключей реестра, перечисленных в табл. 24.1, являются ссылками на вложенные ключи других корневых ключей |
REG_NONE |
Параметр не имеет определенного типа данных |
REG_QWORD |
64-разрядное число |
REG_QWORD_LITTLE_ ENDIAN |
64-разрядное число в формате "остроконечников". Эквивалент REG QWORD |
REG_RESOURCE_LIST |
Список аппаратных ресурсов, применяется только в ветви HKEY_LOCAL_MACHINEXHARDWARE |
REG_FULL_RESOURCE_ DESCRIPTOR |
Дескриптор (описатель) аппаратного ресурса. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE |
REG_RESOUECE_ REQUIREMENTS_LIST |
Список необходимых аппаратных ресурсов. Применяется только в ветви HKEY_LOCAL_MACHINE\HARDWARE |