Шаг 92.
Среда программирования Visual C++.
Структура реестра

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

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

    В таблице 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_DWORD 32-разрядное число
REG_BINARY Двоичные данные в произвольной форме
REG_SZ Строка, оканчивающаяся нулевым символом
REG_MULTI_SZ Массив оканчивающихся нулем строк, в конце которого записано два нулевых символа
REG_EXPAND_SZ Строка с нулевым символом в конце, содержащая нераскрытые ссылки на переменные окружения

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

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




Предыдущий шаг Содержание Следующий шаг