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

   
На этом шаге мы рассмотрим структуру системного реестра.

   
Реестр организован в виде иерархической базы данных. В корне находится набор зависящих от ОС основных разделов,
соответствующих основным компонентам системы.

   
В таблице 1 содержится информация о назначении пяти основных разделов, общих для всех ОС Windows.

Таблица 1. Основные разделы реестра

Имя основного разделаНазначение
HKEY_CLASSES_ROOTСодержит информацию о конфигурации программ, включая привязку типов файлов к конкретным приложениям,
параметры операций "drag-and-drop", принтеров и СОМ
HKEY_CURRENT_USERСодержит пользовательские параметры настройки системы. Этот раздел создается и заполняется информацией
из раздела HKEY_USERS при входе пользователя в систему
HKEY_LOCAL_MACHINEСодержит параметры компьютера, драйверов и другого оборудования. Записи этого раздела - общие для всех
пользователей данной машины
HKEY_USERSСодержит информацию обо всех пользователях, учетные записи которых есть на данной машине. Содержит два
типа параметров - общие для всех пользователей и индивидуальные
HKEY_CURRENT_CONFIGСодержит данные о текущей конфигурации оборудования

   
Основные разделы делятся на подразделы. Они похожи на папки в том смысле, что допускают вложение и
для указания пути используют такую же нотацию. На рисунке 1 открыт раздел
HKEY_CURRENT_USER\Software\ACD Systems\ACDSee.


Рис.1. Просмотр разделов реестра

   
В разделах и подразделах могут находится параметры (values), которые являются конечными
элементами иерархии реестра. В них, собственно, и хранятся данные.

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

   
В Windows задан набор типов данных системного реестра. Наиболее часто употребляемые типы приведены в
таблице 2.

Таблица 2. Типы данных системного реестра

Тип данныхПрименениее
REG_DWORD32-разрядное число
REG_BINARYДвоичные данные в произвольной форме
REG_SZСтрока, оканчивающаяся нулевым символом
REG_MULTI_SZМассив оканчивающихся нулем строк, в конце которого записано два нулевых символа
REG_EXPAND_SZСтрока с нулевым символом в конце, содержащая нераскрытые ссылки на переменные окружения

   
Полный перечень типов откроется, когда Вы проведете в справке Visual C++ поиск по ключевому слову
"RegSetValueEx" (это функция Windows API, служащая для задания значений параметров и их типов).

   
На следующем шаге мы рассмотрим поддержку операций с реестром в MFC.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий