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

Структура реестра. Реестр Windows 2000 состоит из пяти так называемых корневых разделов root keys HKEYCLASSESROOT, HKEYCURRENTUSER, HKEYLOCAL MACHINE, HKEYUSERS и HKEYCURRENTCONFIG. Каждый раздел может содержать элементы данных, которые называются параметрами value entries, а также вложенные разделы subkeys.

Для понимания этой концепции можно провести аналогию с файловой системой. Разделы в структуре реестра аналогичны каталогам, а значимые элементы файлам. Рис. 14.1 иллюстрирует иерархическую структуру реестра Windows 2000. Все имена корневых разделов начинаются со строки HKEY, что указывает разработчикам программного обеспечения на то, что это дескриптор, который может использоваться программой.

Дескриптор handle это значение, используемое для уникального описания ресурса, к которому программа может получить доступ. Описания корневых разделов реестра Windows 2000 приведены в табл. 1.4.1. Таблица 14.1. Корневые разделы реестра Имя корневого разделаОписаниеHKEYLOCALMACHINEСодержит глобальную информацию о компьютерной системе, включая такие данные об аппаратных средствах и операционной системе, в том числе тип шины, системная память, драйверы устройств и управляющие данные, используемые при запуске системы.

Информация, содержащаяся в этом разделе, действует применительно ко веем пользователям, регистрирующимся в системе Windows 2000. На верхнем уровне иерархии реестра для этого раздела имеются три псевдонима HKEY CLASSES ROOT, HKEY CURRENT CONFIG и HKEYDYNDATA HKEYCLASSESROOTВ данном разделе определяются все допустимые файловые расширения и к каждому из них назначаются один или несколько обработчиков.

Обработчик это специально назначенная программа, которая предназначается для работы с тем или иным типом данных. В случае если одному файлу соответствует равноправных обработчиков, один из них загружается по умолчанию. HKEYCURRENTCONFIGСодержит конфигурационные данные для текущего аппаратного профиля. Аппаратные профили представляют собой наборы изменений, внесенных в стандартную конфигурацию сервисов и устройств, установленную данными разделов Software и System корневого раздела HKEYLOCALMACHINE. В разделе HKEYCURRENT CONFIG отражаются только изменения. Кроме того, параметры этого раздела появляются также в разделе HKEYLOCALMACHINESystem CurentControlSetHardwareProfitesCuiTentH KEYCURRENTUSERСодержит, профиль пользователя, на данный момент . зарегистрировавшегося в системе, включая переменные окружения, настройку рабочего стола, параметры настройки сети, принтеров и приложений.

Этот раздел представляет собой ссылку на раздел HKEY USERSusername, где username имя пользователя, зарегистрировавшегося в системе на текущий моментHKEYUSERSСодержит все активно загруженные пользовательские профили, включая HKEYCURRENTUSER, а также профиль по умолчанию.

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

Windows 2000 требует наличия учетных записей для каждого пользователя, регистрирующегося в системе. Раздел HKEYUSERS содержит вложенный раздел Default, а также другие разделы, определяемые идентификатором безопасности Security ID каждого пользователя Рис. 14.1. Реестр имеет иерархическую структуру, и его реестры могут содержать вложенные разделы и параметры Данные реестра хранятся в виде параметров, расположенных в разделах реестра. Каждый параметр характеризуется именем, типом данных и собственно значением. Три части параметра реестра всегда располагаются в следующем порядке В табл. 14.2перечислены, типы данных, определенные и используемые в системе.

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

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

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