Función RegConnectRegistryA (winreg.h)
Establece una conexión a una clave del Registro predefinida en otro equipo.
Sintaxis
LSTATUS RegConnectRegistryA(
[in, optional] LPCSTR lpMachineName,
[in] HKEY hKey,
[out] PHKEY phkResult
);
Parámetros
[in, optional] lpMachineName
El nombre del equipo remoto. La cadena tiene el formato siguiente:
\\Nombredeequipo
El autor de la llamada debe tener acceso al equipo remoto o se produce un error en la función.
Si este parámetro es NULL, se usa el nombre del equipo local.
[in] hKey
Identificador predefinido del Registro. Este parámetro puede ser una de las siguientes claves predefinidas en el equipo remoto.
HKEY_LOCAL_MACHINEHKEY_PERFORMANCE_DATA HKEY_USERS
[out] phkResult
Puntero a una variable que recibe un identificador de clave que identifica el identificador predefinido en el equipo remoto.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS.
Si la función no se ejecuta correctamente, el valor devuelto es un código de error distinto de cero definido en Winerror.h. Puede usar la función FormatMessage con la marca FORMAT_MESSAGE_FROM_SYSTEM para obtener una descripción genérica del error.
Comentarios
RegConnectRegistry requiere que el servicio registro remoto se ejecute en el equipo remoto. De forma predeterminada, este servicio está configurado para iniciarse manualmente. Para configurar el servicio registro remoto para que se inicie automáticamente, ejecute Services.msc y cambie el tipo de inicio del servicio a Automático.
Windows Server 2003 y Windows XP/2000: El servicio Registro remoto está configurado para iniciarse automáticamente de forma predeterminada.
Cuando ya no se necesita un identificador devuelto por RegConnectRegistry , se debe cerrar llamando a RegCloseKey.
Si el equipo está unido a un grupo de trabajo y la directiva "Forzar inicios de sesión de red mediante cuentas locales para autenticarse como invitado" está habilitada, se produce un error en la función. Tenga en cuenta que esta directiva está habilitada de forma predeterminada si el equipo está unido a un grupo de trabajo.
Si el usuario actual no tiene el acceso adecuado al equipo remoto, se produce un error en la llamada a RegConnectRegistry . Para conectarse a un registro remoto, llame a LogonUser con LOGON32_LOGON_NEW_CREDENTIALS y ImpersonateLoggedOnUser antes de llamar a RegConnectRegistry.
Windows 2000: Una posible solución consiste en establecer una sesión en un recurso compartido administrativo, como IPC$ mediante un conjunto diferente de credenciales. Para especificar credenciales distintas de las del usuario actual, use la función WNetAddConnection2 para conectarse al recurso compartido. Cuando haya terminado de acceder al registro, cancele la conexión.
Windows XP Home Edition: No puede usar esta función para conectarse a un equipo remoto que ejecuta Windows XP Home Edition. Esta función funciona con el nombre del equipo local aunque ejecute Windows XP Home Edition porque esto omite la capa de autenticación.
Nota
El encabezado winreg.h define RegConnectRegistry como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winreg.h (incluye Windows.h) |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |