Типы данных реестра
01 февраля 2010 (обновлено 2 года назад), Chemtable Software
Как уже говорилось ранее, в реестре хранится громадное количество информации, включающее профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах.
Поскольку реестр Microsoft Windows представляет собой сложную реляционную базу данных, вся информация, которая может храниться в конечных информационных контейнерах этой базы (параметрах), должна быть строго классифицирована. Классификация хранящихся в параметрах значений производится по типу данных, представляющих это значение. Всего насчитывается 11 таких типов
Раздел и подраздел могут содержать 0, 1 или несколько параметров, параметр по умолчанию, а также 0 или несколько подразделов. Каждый параметр имеет имя, тип и значение.
Три части параметра реестра всегда располагаются в определенном порядке: Имя, Тип данных, значение (например: [RegistrySizeLimit] [REG_DWORD] [0x8000000]).
В таблице, которая будет приведена ниже, содержится список типов данных, определенных и используемых Windows на сегодняшний день.
Максимальная длина имени параметра:
- 16 383 символов для Windows Server 2003, Windows XP и Windows Vista
- 260 символов ANSI или 16 383 символа Юникод для Windows 2000
- 255 символов для Windows 95, Windows 98 и Windows Millennium Edition
Значения большого размера (больше 2048 байт) хранятся во внешних файлах, а в реестр заносится имя такого файла. Это способствует повышению эффективности использования реестра.
Максимальный размер параметра:
- Вся доступная память для Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003/Windows Vista
- 16 300 байт для Windows 95, Windows 98 и Windows Millennium Edition
Наименование | Тип данных | Назначение |
REG_BINARY | Двоичный | Двоичные данные |
REG_DWORD | Числовой | Число |
REG_QWORD | Числовой | 64-разрядное числовое значение |
REG_EXPAND_SZ | Строковый | Текст и переменные |
REG_FULL_RESOURCE_DESCRIPTOR | Строковый | Идентификатор ресурса устройства |
REG_LINK | Строковый | Путь к файлу |
REG_MULTI_SZ | Многостроковый | Массив строк |
REG_NONE | Неизвестный | Зашифрованные данные |
REG_RESOURCE_LIST | Строковый | Список ресурсов устройств |
REG_RESOURCE_REQUIREMENTS_LIST | Строковый | Идентификатор ресурса устройства |
REG_SZ | Строковый | Текст |
Ниже приводится назначение этих параметров.
REG_BINARY
Необработанные двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.
REG_DWORD
Данные, представленные целым числом (4 байта, 32 бита). Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах. Эквивалентами типа DWORD являются DWORD_LITTLE_ENDIAN (самый младший байт хранится в памяти в первом числе) и REG_DWORD_BIG_ENDIAN (самый младший байт хранится в памяти в последнем числе).
REG_EXPAND_SZ
Расширяемая строка данных. Эта строка представляет собой текст, содержащий переменную, которая может быть заменена при вызове со стороны приложения.
REG_MULTI_SZ
Многострочное поле. Значения, которые фактически представляют собой списки текстовых строк в формате, удобном для восприятия человеком, обычно имеют именно этот тип данных. Записи разделяются пробелами, запятыми или другими символами.
REG_SZ
Текстовая строка в формате, удобном для восприятия человеком. Значениям, представляющим собой описания компонентов, обычно присваивается именно этот тип данных. Имеет фиксированную длину.
REG_LINK
Символическая ссылка в формате Юникод.
REG_FULL_RESOURCE_DESCRIPTOR
Последовательность вложенных массивов. Служит для хранения списка ресурсов, которые используются физическим устройством. Обнаруженные данные система сохраняет в разделе \HardwareDescription. В окне редактора реестра эти данные отображаются в виде двоичного параметра в шестнадцатеричном формате
REG_RESOURCE_LIST
Последовательность вложенных массивов. Служит для хранения списка ресурсов, которые используются драйвером устройства или управляемым им физическим устройством. Обнаруженные данные система сохраняет в разделе \ResourceMap. В окне редактора реестра эти данные отображаются в виде двоичного параметра в шестнадцатеричном формате
REG_RESOURCE_REQUIREMENTS_LIST
Последовательность вложенных массивов. Служит для хранения списка драйверов аппаратных ресурсов, которые могут быть использованы определенным драйвером устройства или управляемым им физическим устройством. Часть этого списка система записывает в раздел \ResourceMap. Данные определяются системой. В окне редактора реестра они отображаются в виде двоичного параметра в шестнадцатеричном формате
REG_QWORD
Данные, представленные в виде 64-разрядного целого. Начиная с Windows 2000, такие данные отображаются в окне редактора реестра в виде двоичного параметра
REG_NONE
Данные, не имеющие определенного типа. Такие данные записываются в реестр системой или приложением. В окне редактора реестра отображаются в виде двоичного параметра в шестнадцатеричном формате