Здравствуйте, zz-sergant, Вы писали:
ZS>Реестр состоит из нескольких улей (hives).
Это он только виден так.
ZS>Где отдельные улья предстовляют собой файлы.
Нет. HKCU — не отдельный файл, а только ссылка. HKCR — тоже.
HKPD и прочая ерунда про производительность — вообще просто "реестроподобное API", исключительно для возможности удаленного доступа.
Итак, есть файлы, которые не становятся корневыми разделами реестра, но загружаются в реестр (HKLM\Software). Есть корневые разделы, не являющиеся файлами (примеры я привел).
Собственно, "отдельные улья представляют собой файлы" — для NT это верно разве что для HKU.
Все это можно увидеть в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist.
ZS>Хотя, часть реестра существует только виртуально.
Точнее, часть данных реестра строится при загрузке, так как бессмысленно ее хранить постоянно, либо это связано с техническим решением поддержки нескольких версий настроек/оборудования (Last known good и все такое прочее).
Чтение файлов реестра не может в общем случае быть равносильно чтению реестра даже в том плане, что увидишь в реестре, так как можно загрузить в реестр в качестве hive принесенный с работы файл ...