Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Библиотека автономного реестра используется для изменения раздела реестра за пределами активного реестра системы.
Библиотека автономного реестра предназначена для сценариев обновления реестра, таких как обслуживание образа операционной системы. Функции автономного реестра предоставляют следующие возможности, которые недоступны для стандартных функций реестра:
- Функции автономного реестра можно использовать для изменения куста реестра в любом поддерживаемом формате реестра. Стандартные функции реестра могут вносить изменения только в активный куст реестра, и изменения должны быть совместимы с версией Windows, работающей в системе.
- В библиотеке автономного реестра требуется только доступ на чтение для открытия файла раздела реестра и доступ на запись для сохранения файла. Никакие другие проверки доступа не выполняются для объектов в кусте, что позволяет изменять куст с помощью стандартных привилегий пользователя. При использовании стандартных функций реестра, загрузка ячейки в активный реестр является привилегированной операцией, требующей административного доступа.
Функции автономного реестра не должны использоваться в качестве замены функций системного реестра по следующим причинам:
- Невозможно предоставить общий доступ к кустам реестра между процессами с помощью функций автономного реестра.
- Функции автономного реестра используют простую блокировку, которая может привести к серьезному снижению производительности для многопоточных приложений.
- Изменения, внесенные с помощью функций автономного реестра, не сохраняются до вызова функции ORSaveHive.
Приложения не должны использовать функции автономного реестра для обхода требований безопасности системного реестра. Чтобы загрузить hive, приложение, работающее без специальных привилегий, необходимых функции RegLoadKey , может использовать функцию RegLoadAppKey.
Windows Server 2003 и Windows XP: функция RegLoadAppKey не поддерживается.
Автономный куст реестра — это куст реестра, который загружен в память с помощью функций, работающих в автономном режиме. Чтобы создать пустой автономный куст реестра, используйте функцию ORCreateHive. Чтобы изменить существующий улей реестра, используйте функцию RegSaveKey или RegSaveKeyEx для сохранения улья из активного системного реестра в файл, а затем используйте функцию OROpenHive для открытия файла.
Функции ORCreateHive и OROpenHive возвращают дескриптор корневого ключа автономного улья реестра. Этот дескриптор можно использовать как дескриптор любого другого ключа в автономном кусте реестра со следующими исключениями: функции ORCreateKey и OROpenKey нельзя использовать для возврата дескриптора в корневой ключ; функциюORCloseKeyнельзя использовать для закрытия корневого ключа; и функциюORDeleteKeyнельзя использовать для удаления корневого ключа. Во всех этих случаях функция завершается с ошибкой ERROR_INVALID_PARAMETER.
Используйте функцию ORCreateKey, чтобы добавить ключи в открытый автономный куст реестра, и функцию ORSetValue, чтобы задать значения ключей. Библиотека автономного реестра поддерживает другие основные операции реестра, такие как перечисление, извлечение и удаление ключей и значений, а также настройка ключевых атрибутов, таких как поведение безопасности и виртуализации. Список функций см. в разделе Функции автономной библиотеки реестра.
Чтобы сохранить изменения, внесенные в открытый автономный куст реестра, используйте функцию ORSaveHive для сохранения куста в файл. (Изменения не сохраняются, если не вызывается ORSaveHive.) После сохранения куста используйте функцию ORCloseHive, чтобы закрыть куст и свободные ресурсы, связанные с ним.
Автономный куст реестра проверяется только при открытии с помощью функции OROpenHive. Если hive поврежден, операция просто завершается ошибкой; попытка восстановить куст не выполняется. Проверки доступа к объектам в улье не выполняются, пока улей не загружен в активный реестр с функцией RegLoadKey.
Функции автономного реестра не поддерживают ключи , предварительно определенные.
Все строки имен ключей и значений, передаваемые в автономные функции реестра, должны быть Юникодом.
Связанные разделы