Condividi tramite


Funzione RegConnectRegistryA (winreg.h)

Stabilisce una connessione a una chiave del Registro di sistema predefinita in un altro computer.

Sintassi

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

Parametri

[in, optional] lpMachineName

Nome del computer remoto. La stringa ha il formato seguente:

\\ nomecomputer

Il chiamante deve avere accesso al computer remoto o la funzione ha esito negativo.

Se questo parametro è NULL, viene usato il nome del computer locale.

[in] hKey

Handle predefinito del Registro di sistema. Questo parametro può essere uno dei seguenti chiavi predefinite nel computer remoto.

HKEY_LOCAL_MACHINEHKEY_PERFORMANCE_DATAHKEY_USERS

[out] phkResult

Puntatore a una variabile che riceve un handle di chiave che identifica l'handle predefinito nel computer remoto.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero definito in Winerror.h. È possibile usare la funzione FormatMessage con il flag FORMAT_MESSAGE_FROM_SYSTEM per ottenere una descrizione generica dell'errore.

Osservazioni

RegConnectRegistry richiede che il servizio Registro di sistema remoto sia in esecuzione nel computer remoto. Per impostazione predefinita, questo servizio è configurato per l'avvio manuale. Per configurare il servizio Registro di sistema remoto per l'avvio automatico, eseguire Services.msc e impostare Il tipo di avvio del servizio su Automatico.

Windows Server 2003 e Windows XP/2000: Il servizio Registro di sistema remoto è configurato per l'avvio automatico per impostazione predefinita.

Quando un handle restituito da RegConnectRegistry non è più necessario, deve essere chiuso chiamando RegCloseKey.

Se il computer viene aggiunto a un gruppo di lavoro e viene abilitato il criterio "Forzare gli accessi di rete usando account locali per l'autenticazione come guest", la funzione ha esito negativo. Si noti che questo criterio è abilitato per impostazione predefinita se il computer viene aggiunto a un gruppo di lavoro.

Se l'utente corrente non dispone dell'accesso appropriato al computer remoto, la chiamata a RegConnectRegistry ha esito negativo. Per connettersi a un registro remoto, chiamare LogonUser con LOGON32_LOGON_NEW_CREDENTIALS e ImpersonateLoggedOnUser prima di chiamare RegConnectRegistry.

Windows 2000: Una possibile soluzione alternativa consiste nell'stabilire una sessione a una condivisione amministrativa, ad esempio IPC$ usando un set di credenziali diverso. Per specificare credenziali diverse da quelle dell'utente corrente, usare la funzione WNetAddConnection2 per connettersi alla condivisione. Al termine dell'accesso al Registro di sistema, annullare la connessione.

Windows XP Home Edition: Non è possibile utilizzare questa funzione per connettersi a un computer remoto che esegue Windows XP Home Edition. Questa funzione funziona con il nome del computer locale anche se esegue Windows XP Home Edition perché ignora il livello di autenticazione.

Nota

L'intestazione winreg.h definisce RegConnectRegistry come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winreg.h (include Windows.h)
libreria Advapi32.lib
dll Advapi32.dll

Vedere anche

RegCloseKey

funzioni del Registro di sistema

Panoramica del Registro di sistema