Sobre a biblioteca de registros offline
A biblioteca do Registro offline é usada para modificar uma seção do Registro fora do registro do sistema ativo.
A biblioteca do Registro offline destina-se a cenários de atualização do Registro, como a manutenção de uma imagem do sistema operacional. As funções do Registro offline fornecem os seguintes recursos que não estão disponíveis com as funções do Registro padrão:
- As funções de registro offline podem ser usadas para modificar um hive do Registro em qualquer formato de registro com suporte. As funções de registro padrão podem fazer alterações somente em um hive de registro ativo e as alterações devem ser compatíveis com a versão do Windows em execução no sistema.
- A biblioteca do Registro offline requer apenas acesso de leitura para abrir um arquivo de hive do Registro e acesso de gravação para salvar o arquivo. Nenhuma outra verificação de acesso é executada em objetos na colmeia, tornando possível modificar a seção com privilégios de usuário padrão. Com as funções de registro padrão, carregar uma seção no registro ativo é uma operação privilegiada que requer acesso administrativo.
As funções de registro offline não devem ser usadas como um substituto para as funções de registro do sistema pelos seguintes motivos:
- É impossível compartilhar seções de registro entre processos usando as funções de registro offline.
- As funções do Registro offline usam bloqueio simples que pode levar a uma grave degradação de desempenho para aplicativos multithread.
- As alterações feitas com as funções do Registro offline não são salvas até que a função ORSaveHive seja chamada.
Os aplicativos não devem usar as funções do Registro offline para ignorar os requisitos de segurança do Registro do sistema. Para carregar uma colmeia, um aplicativo em execução sem os privilégios especiais exigidos pela função RegLoadKey pode usar a função RegLoadAppKey .
Windows Server 2003 e Windows XP: A função RegLoadAppKey não é suportada.
Um hive de registro offline é um hive de registro que foi carregado na memória usando as funções de registro offline. Para criar uma seção de registro offline vazia, use a função ORCreateHive. Para modificar uma seção do Registro existente, use a função RegSaveKey ou RegSaveKeyEx para salvar uma seção do registro do sistema ativo em um arquivo e, em seguida, use a função OROpenHive para abrir o arquivo.
As funções ORCreateHive e OROpenHive retornam um identificador para a chave raiz da seção do Registro offline. Esse identificador pode ser usado como um identificador para qualquer outra chave no hive do Registro offline com as seguintes exceções: as funções ORCreateKey e OROpenKey não podem ser usadas para retornar um identificador para a chave raiz, a função ORCloseKey não pode ser usada para fechar a chave raiz e a função ORDeleteKey não pode ser usada para excluir a chave raiz. Em todos esses casos, a função falha com ERROR_INVALID_PARAMETER.
Use a função ORCreateKey para adicionar chaves a um hive do Registro offline aberto e a função ORSetValue para definir os valores das chaves. A biblioteca do Registro offline oferece suporte a outras operações básicas do Registro, como enumeração, recuperação e exclusão de chaves e valores, e à definição de atributos de chave, como comportamento de segurança e virtualização. Para obter uma lista de funções, consulte Funções da Biblioteca do Registro Offline.
Para salvar as alterações feitas em uma seção do Registro offline aberta, use a função ORSaveHive para salvar a seção em um arquivo. (As alterações não persistem, a menos que ORSaveHive é chamado.) Depois de salvar a colmeia, use a função ORCloseHive para fechar a colmeia e liberar recursos associados a ela.
Uma seção de registro offline é validada somente quando é aberta usando a função OROpenHive . Se a colmeia estiver corrompida, a operação simplesmente falhará; Nenhuma tentativa é feita para reparar a colmeia. As verificações de acesso em objetos no hive não são executadas até que o hive seja carregado em um registro ativo com a função RegLoadKey .
As funções do Registro offline não oferecem suporte às chaves predefinidas.
Todas as cadeias de caracteres de nome de chave e valor passadas para funções do Registro offline devem ser Unicode.
Tópicos relacionados