Динамический раздел. Он создается заново при каждой загрузке операционной системы. Вся его информация сохраняется в оперативной памяти.
Пары параметр-значение
Пара параметр-значение состоит из трех частей: имени параметра, значения параметра и типа данных, то есть типа значения. Пара параметр-значение обычно называется просто значение. Однако в этой книге мы будем использовать термин пара параметр-значение, поскольку он более точен и его труднее спутать с другими подобными терминами, чем просто значение — термин, который имеет множество разных смыслов. Пара параметр-значение — это компонент Реестра, который непосредственно хранит данные. Используя путь к разделу в качестве указателя места и имя параметра в качестве ссылки, вы можете считать значение из пары параметр-значение.
Типы данных
Значение, находящееся в паре параметр-значение, может иметь один из нескольких типов данных. Три основных типа данных это: двойное слово (DWORD), строка (string) и двоичное значение (binary). Существуют и другие, реже используемые типы данных. Это: двойное слово в формате big-endian, расширенная строка, символическая ссылка в формате Unicode, список ресурсов устройство-драйвер и массив строк. Применяется также неопределенный тип.
Тип данных DWORD позволяет сохранять двойные слова. DWORD — это число длиной в два слова или четыре байта. Оно не может быть отрицательным. Это единственный способ хранить числа в Реестре. Не существует эквивалентов числовым типам языка программирования С int, long или short.
Тип данных string представляет строку. Он очень полезен при записи строк в Реестр, поскольку пользователи могут легко читать и изменять их. Большинство строковых значений хранят либо имена приложений, либо пути к файлам.
Тип данных binary предназначен для хранения данных в двоичном формате. Он позволяет хранить информацию, которая не может быть сохранена в предыдущих типах данных. Это значит, что если вы не можете записать данные в виде строки или числа, вы можете занести их в Реестре в двоичном формате. Единственная проблема, с которой в этом случае вам придется столкнуться, заключается в том, что записанные данные вам придется читать также в двоичном формате.
Другие типы данных имеют весьма специфическое применение.
Если вы изучите документацию, вы обнаружите, что реестр способен содержать в себе данные многих экзотических типов (табл. 2). Однако на самом деле система никогда не обращает внимания на эти типы данных. Например, переменная типа REG_EXPAND_SZ — это строка, содержащая имена переменных окружения, которые необходимо заменить значениями этих переменных самостоятельно. Реестр не предоставляет вам доступ к значениям переменных окружения автоматически. Вместо этого вы должны получить необходимые значения собственными силами, например, при помощи функции ExpandEnvironmentStrings.
Однако существуют исключения. Например, в Windows 95 и Windows 98 в конец строки REG_SZ будет автоматически добавлен замыкающий ноль, если вы забыли это сделать. Вместе с тем некоторые версии Windows 2000 и NT не будут добавлять ноль. Ни одна система не будет добавлять ноль в конец строк REG_MULTI_SZ или REG_EXPAND_SZ.
Таблица 2. Типы данных, хранящихся в реестре
Тип |
Описание |
REG_BINARY |
Бинарные данные в любой форме |
REG_DWORD |
32-битное число (часто используется для хранения байта, слова или даже бита) |
REG_DWORD_LITTLE_ENDIAN |
32-битное число в формате аппаратных платформ Intel |
REG_DWORD_BIG_ENDIAN |
32-битное число в формате аппаратных платформ Motorola |
REG_EXPAND_SZ |
Строка, завершающаяся нулем, содержащая ссылки на переменные окружения (например: "%РАТН%") |
REG_LINK |
Символическая ссылка в формате UNICODE |
REG_MULTI_SZ |
Массив строк, каждая из которых завершается нулем. В конце массива располагаются два нулевых символа |
REG_NONE |
Неопределенный тип |
REG_RESOURCE_LIST |
Список ресурсов драйвера устройства |
REG_SZ |
Строка, завершающаяся нулем |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.