Compartilhar via


Função RegSaveKeyA (winreg.h)

Salva a chave especificada e todas as suas subchaves e valores em um novo arquivo, no formato padrão.

Para especificar o formato da chave salva ou hive, use a função RegSaveKeyEx.

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 RegSaveKeyA(
  [in]           HKEY                        hKey,
  [in]           LPCSTR                      lpFile,
  [in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

Parâmetros

[in] hKey

Um identificador para uma chave aberta do Registro.

Esse identificador é retornado pela função RegCreateKeyEx ou RegOpenKeyEx ou pode ser uma das seguintes chaves predefinidas :

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER

[in] lpFile

O nome do arquivo no qual a chave e as subchaves especificadas devem ser salvas. Se o arquivo já existir, a função falhará.

Se a cadeia de caracteres não incluir um caminho, o arquivo será criado no diretório atual do processo de chamada para uma chave local ou no diretório \system32 %systemroot%para uma chave remota. O novo arquivo tem o atributo de arquivo morto.

[in, optional] lpSecurityAttributes

Um ponteiro para uma estrutura SECURITY_ATTRIBUTES que especifica um descritor de segurança para o novo arquivo. Se lpSecurityAttributes for NULL, o arquivo receberá um descritor de segurança padrão. As ACLs em um descritor de segurança padrão para um arquivo são herdadas de seu diretório pai.

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.

Se o arquivo já existir, a função falhará com o erro ERROR_ALREADY_EXISTS.

Observações

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

A função RegSaveKey salva apenas chaves nãovolatile. Ele não salva chaves voláteis. Uma chave é tornada volátil ou nãovolatile em sua criação; consulte RegCreateKeyEx .

Você pode usar o arquivo criado pelo RegSaveKey em chamadas subsequentes para as funções RegLoadKey, RegReplaceKeyou RegRestoreKey. Se RegSaveKey falhar em parte durante sua operação, o arquivo será corrompido e as chamadas subsequentes para RegLoadKey, RegReplaceKeyou RegRestoreKey do arquivo falharão.

Não é recomendável usar RegSaveKey junto com RegRestoreKey para copiar subárvores no registro. Esse método não dispara notificações e pode invalidar identificadores usados por outros aplicativos. Em vez disso, use a função SHCopyKey ou a função RegCopyTree.

O processo de chamada deve ter o privilégio SE_BACKUP_NAME habilitado. Para obter mais informações, consulte Em execução com privilégios especiais.

Nota

O cabeçalho winreg.h define RegSaveKey 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

RegCreateKeyEx

RegDeleteKey

RegLoadKey

RegReplaceKey

RegRestoreKey

RegSaveKeyEx

de Arquivos do Registro

Funções do Registro

SECURITY_ATTRIBUTES