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

Windows поддерживает в реестре следующие типы данных:

  • REG_BINARY.  Двоичные данные. Редактор реестра отображает дво­ичные данные в шестнадцатеричном виде, и вы должны вводить дво­ичные данные, используя шестнадцатеричную нотацию. Примером значения типа REG_BINARY является последовательность 0x02 0xFE 0хА9 0x38 0x92 0x38 0хАВ 0xD9.
  • REG_DWORD. Значения длиной в два слова (32 бита). Многие значе­ния являются значениями типа REG_DWORD и используются как логические флаги (0 или 1, истина или ложь, да или нет). Также в зна­чениях типа REG_DWORD можно встретить время в миллисекундах (1000 равно 1 секунде). 32-битные беззнаковые числа имеют диапазон от 0 до 4,294,967,295, а 32-битные знаковые числа имеют диапазон от -2,147,483,648 до 2,147,483,647. Вы можете просматривать и редакти­ровать эти значения в десятичной или шестнадцатеричной форме. Примерами REG_DWORD являются значения 0xFE020001 и 0x10010001.
  • REG_DWORD_BIG_ENDIAN. Значения длиной в два слова, распо­ложенные в памяти в прямом порядке (первым хранится старший байт). Порядок байтов в этом случае является обратным по отноше­нию к порядку, используемому для значений типа REG_DWORD. На­пример, число 0x01020304 хранится в памяти как 0x01 0x02 0x03 0x04. На Intel-совместимых архитектурах вы не часто будете сталкивать с этим типом значений.
  • REG_DWORD_UTTLE_ENDIAN. Значения длиной в два слова, рас­положенные в памяти в обратном порядке (первым хранится млад­ший байт). Этот тип является тем же, что и REGDWORD, и из-за того, что Intel-совместимые архитектуры хранят числа в памяти в этом формате, это наиболее общий числовой формат в Windows XP. На­пример, число 0x01020304 хранится в памяти как 0x04 0x03 0x02 0x01. Редактор реестра не предоставляет возможности создавать значения типа REG_DWORD_LITTLE_ENDIAN потому, что этот тип иденти­чен REGDWORD.
  • REG_EXPAND_SZ. Текст переменной длины. Значение этого типа мо­жет включать переменные среды окружения, а программа, использу­ющая эти значения, берет эти переменные из реестра и преобразует перед тем, как использовать их. Например, значение типа REG_EXPAND_SZ, содержащее %USERPROFILE%\Favorites, может быть переведено в C:\Documents and Settings\Jerry\Favorites перед тем, как быть использованным программой. API (Application Programming Interface - интерфейс программирования приложений) для работы с реестром полагается на то, что вызывающая программа сама преобразует переменные окружения в строки типа REG_EXPAND_SZ, таким образом, эти значения бесполезны, если программа не делает этого. Чтобы узнать, как использовать эти типы значений для решения некоторых интересных проблем, обратитесь к гл. 10 «Использование профилей пользователей».
  • REG_FULL_RESOURCE_DESCRIPTOR. Список ресурсов устройства или драйвера устройства. Этот тип данных важен для Plug and Play, но не имеет большого значения в вашей работе с реестром. Редактор реестра не предоставляет способа создавать значения этого типа, но он позволяет вам просматривать их. В качестве примера этого типа данных смотрите HKLM\HARDWARE\DESCRIPTION\Description.
  • REG_LINK. Ссылка. Вы не можете создавать значения типа REGLINK.
  • REG_MULTI_SZ. Двоичные значения, содержащие список строк. Ре­дактор реестра отображает по одной строке текста в строке и позво­ляет вам редактировать эти списки. В реестре каждая строка отделе­на от другой при помощи символа null (0x00), а весь список заканчивается двумя символами null.
  • REG_NONE. Значения без определенного типа.
  • REG_QWORD. Значения длиной в четыре слова (64 бита). Этот тип похож на REG_DWORD, но содержит 64 бита вместо 32. Единствен­ная версия Windows XP, которая поддерживает этот тип — это Windows XP 64-Bit Edition (64-разрядная версия). Вы можете просмат­ривать и редактировать эти значения в десятичной или шестнадца-теричной форме. Примером REG_QWORD является значение 0xFE02000110010001.
  • REG_QWORD_BIG_ENDIAN. Значения длиной в четыре слова, рас­положенные в памяти в прямом порядке (первым хранится старший байт). Порядок байтов в этом случае является обратным по отноше­нию к порядку, используемому для значений типа REG_QWORD. За дополнительной информацией об этом типе обратитесь к описанию типа REG_DWORD_BIG_ENDIAN.
  • REG_QWORD_LITTLE_ENDIAN. Значения длиной в четыре слова, расположенные в памяти в обратном порядке (первым хранится млад­ший байт). Этот тип является тем же самым, что и тип REGQWORD. REG_RESOURCE_LIST. Список значений типа REG_FULL_RESO- URCE_DESCRIPTION. Редактор реестра позволяет вам просматри­вать, но не редактировать значения этого типа.
  • REG_RESOURCE_REQUIREMENTS_LIST. Список ресурсов, исполь­зуемых устройством. Редактор реестра позволяет вам просматривать, но не редактировать значения этого типа.
  • REG_SZ. Текст постоянной длины. Значения типа REG_SZ, вместе со значениями типа REG_DWORD, являются наиболее используемыми типами данных в реестре. Примерами значений типа REG_SZ явля­ются «Microsoft Windows». Каждая строка заканчивается символом null. Программы не преобразуют перемен­ные окружения, содержащиеся в значениях типа REG_SZ.
2016  Командная строка Windows  
top Яндекс.Метрика