ГлавнаяСтатьи

Типы данных реестра

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

Данные, не имеющие определенного типа. Такие данные записываются в реестр системой или приложением. В окне редактора реестра отображаются в виде двоичного параметра в шестнадцатеричном формате