Função RegConnectRegistryA (winreg.h)

Estabelece uma conexão com uma chave do Registro predefinida em outro computador.

Sintaxe

LSTATUS RegConnectRegistryA(
  [in, optional] LPCSTR lpMachineName,
  [in]           HKEY   hKey,
  [out]          PHKEY  phkResult
);

Parâmetros

[in, optional] lpMachineName

O nome do computador remoto. A cadeia de caracteres tem o seguinte formato:

\\Computername

O chamador deve ter acesso ao computador remoto ou a função falha.

Se esse parâmetro for NULL, o nome do computador local será usado.

[in] hKey

Um identificador de registro predefinido. Esse parâmetro pode ser uma das chaves predefinidas a seguir no computador remoto.

HKEY_USERSHKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA

[out] phkResult

Um ponteiro para uma variável que recebe um identificador de chave que identifica o identificador predefinido no computador remoto.

Retornar valor

Se a função obtiver êxito, o valor retornado será ERROR_SUCCESS.

Se a função falhar, o valor de retorno será o 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.

Comentários

RegConnectRegistry requer que o serviço registro remoto esteja em execução no computador remoto. Por padrão, esse serviço é configurado para ser iniciado manualmente. Para configurar o serviço registro remoto para iniciar automaticamente, execute Services.msc e altere o Tipo de Inicialização do serviço para Automático.

Windows Server 2003 e Windows XP/2000: O serviço registro remoto é configurado para iniciar automaticamente por padrão.

Quando um identificador retornado por RegConnectRegistry não é mais necessário, ele deve ser fechado chamando RegCloseKey.

Se o computador estiver ingressado em um grupo de trabalho e a política "Forçar logons de rede usando contas locais para autenticar como Convidado" estiver habilitada, a função falhará. Observe que essa política será habilitada por padrão se o computador estiver ingressado em um grupo de trabalho.

Se o usuário atual não tiver acesso adequado ao computador remoto, a chamada para RegConnectRegistry falhará. Para se conectar a um registro remoto, chame LogonUser com LOGON32_LOGON_NEW_CREDENTIALS e ImpersonateLoggedOnUser antes de chamar RegConnectRegistry.

Windows 2000: Uma solução alternativa possível é estabelecer uma sessão para um compartilhamento administrativo, como IPC$, usando um conjunto diferente de credenciais. Para especificar credenciais diferentes das do usuário atual, use a função WNetAddConnection2 para se conectar ao compartilhamento. Quando terminar de acessar o registro, cancele a conexão.

Windows XP Home Edition: Você não pode usar essa função para se conectar a um computador remoto que executa o Windows XP Home Edition. Essa função funciona com o nome do computador local, mesmo que esteja executando o Windows XP Home Edition porque isso ignora a camada de autenticação.

Observação

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

Requisitos

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

Confira também

Regclosekey

Funções do Registro

Visão geral do Registro