Compartilhar via


Função RegConnectRegistryW (winreg.h)

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

Sintaxe

LSTATUS RegConnectRegistryW(
  [in, optional] LPCWSTR lpMachineName,
  [in]           HKEY    hKey,
  [out]          PHKEY   phkResult
);

Parâmetros

[in, optional] lpMachineName

O nome do computador remoto. A cadeia de caracteres tem o seguinte formulário:

\\ nome do computador

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 predefinido do Registro. Esse parâmetro pode ser uma das seguintes chaves predefinidas no computador remoto.

HKEY_LOCAL_MACHINEHKEY_PERFORMANCE_DATAHKEY_USERS

[out] phkResult

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

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

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 de 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 associado a 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 executando o Windows XP Home Edition. Essa função funciona com o nome do computador local, mesmo que esteja executando o Windows XP Home Edition, pois isso ignora a camada de autenticação.

Nota

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 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

RegCloseKey

Funções do Registro

Visão geral do Registro