Данные в двоичных значениях
Из всех значений реестра двоичные значения являются наименее простыми. Когда приложение читает из реестра двоичное значение, его расшифровка оставляется на усмотрение программы. Это означает, что приложения должны хранить данные в двоичных значениях, используя сои собственные структуры, и эти структуры данных ничего не означают для вас или другого приложения. Также в значениях типа REG_BINARY приложения часто сохраняют данные типа REG_DWORD и REG_SZ, что затрудняет поиск и расшифровку этих данных, как вы узнаете из гл. 8. На самом деле некоторые программы используют значения REG_DWORD и четырехбайтовые значения REG_BINAR Y как взаимозаменяемые; таким образом, помните, что Intel-совместимые компьютеры используют архитектуру с обратным порядком байт и двоичное значение 0×01 0×02 0×03 0×04, и значение 0×04030201, имеющее тип REG_DWORD, являются одним и тем же.
Теперь я собираюсь еще больше все усложнить. Реестр на самом деле хранит все значения как двоичные. API для работы с реестром распознает каждый тип значения по числу, к которому программисты обращаются как к константе, и которое я предлагаю рассматривать как номер типа. Вы заметите эти номера типов в основном тогда, когда будете экспортировать ключи в REG-файлы - вы научитесь это делать в гл. 2. Например, когда вы экспортируете в REG-файл значение типа REG_MULTI_SZ, редактор реестра пишет двоичное значение с номером типа 7. Обычно номер типа, связанный с каждым из типов значений, не имеет значения потому, что вы обращаетесь к ним по их именам, но имеются ситуации, когда информация из таблицы 1.4 может понадобиться.//Книга источник