Compartilhar via


Função RegRestoreKeyW (winreg.h)

Lê as informações do Registro em um arquivo especificado e copia-as pela chave especificada. Essas informações do Registro podem estar na forma de uma chave e vários níveis de subchaves.

Os aplicativos que backupm ou restauram o estado do sistema, incluindo arquivos do sistema e hives de registro, devem usar o serviço de cópia de sombra de volume em vez das funções do Registro.

Sintaxe

LSTATUS RegRestoreKeyW(
  [in] HKEY    hKey,
  [in] LPCWSTR lpFile,
  [in] DWORD   dwFlags
);

Parâmetros

[in] hKey

Um identificador para uma chave aberta do Registro. Esse identificador é retornado pela função RegCreateKeyEx ou RegOpenKeyEx. Também pode ser uma das seguintes chaves predefinidas :

HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS Todas as informações contidas nessa chave e suas chaves descendentes são substituídas pelas informações no arquivo apontadas pelo parâmetro lpFile.

[in] lpFile

O nome do arquivo com as informações do Registro. Esse arquivo normalmente é criado usando a função RegSaveKey.

[in] dwFlags

Os sinalizadores que indicam como a chave ou as chaves devem ser restauradas. Esse parâmetro pode ser um dos valores a seguir.

Valor Significado
REG_FORCE_RESTORE
0x00000008L
Se especificada, a operação de restauração será executada mesmo se houver identificadores abertos no local ou abaixo do local na hierarquia do Registro à qual o hKey pontos de parâmetro.
REG_WHOLE_HIVE_VOLATILE
0x00000001L
Se especificado, um novo conjunto volátil (somente memória) de informações do Registro ou hive será criado. Se REG_WHOLE_HIVE_VOLATILE for especificado, a chave identificada pelo parâmetro hKey deverá ser o valor HKEY_USERS ou HKEY_LOCAL_MACHINE.

Valor de retorno

Se a função for bem-sucedida, o valor retornado será ERROR_SUCCESS.

Se a função falhar, o valor retornado será um código de erro diferente de zero definido em Winerror.h. Você pode usar a função FormatMessage com o sinalizador FORMAT_MESSAGE_FROM_SYSTEM para obter uma descrição genérica do erro.

Observações

Há dois formatos de arquivo hive de registro diferentes. Os hives do Registro criados em sistemas operacionais atuais normalmente não podem ser carregados pelos anteriores.

Se alguma subchave do parâmetro hKey estiver aberta, regRestoreKey falhar.

O processo de chamada deve ter os privilégios SE_RESTORE_NAME e SE_BACKUP_NAME no computador no qual o registro reside. Para obter mais informações, consulte Em execução com privilégios especiais.

Essa função substitui as chaves e os valores abaixo da chave especificada pelas chaves e valores que são subsidiárias à chave de nível superior no arquivo, não importa qual seja o nome da chave de nível superior no arquivo. Por exemplo, hKey pode identificar uma chave A com subchaves B e C, enquanto o parâmetro lpFile especifica um arquivo que contém a chave X com subchaves Y e Z. Após uma chamada para RegRestoreKey, o registro conterá a chave A com as subchaves Y e Z. As entradas de valor de A seriam substituídas pelas entradas de valor de X.

As novas informações no arquivo especificado por lpFile substituem o conteúdo da chave especificada pelo parâmetro hKey, exceto pelo nome da chave.

Se hKey representar uma chave em um computador remoto, o caminho descrito por lpFile será relativo ao computador remoto.

Nota

O cabeçalho winreg.h define RegRestoreKey como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winreg.h (inclua Windows.h)
biblioteca Advapi32.lib
de DLL Advapi32.dll

Consulte também

RegDeleteKey

RegLoadKey

RegReplaceKey

RegSaveKey

Funções do Registro

Visão geral do Registro