Condividi tramite


Funzione RegRestoreKeyA (winreg.h)

Legge le informazioni del Registro di sistema in un file specificato e le copia sulla chiave specificata. Queste informazioni del Registro di sistema possono essere sotto forma di chiave e più livelli di sottochiavi.

Le applicazioni che esegue il backup o il ripristino dello stato del sistema, inclusi i file di sistema e gli hive del Registro di sistema, devono usare il servizio copia shadow del volume anziché le funzioni del Registro di sistema.

Sintassi

LSTATUS RegRestoreKeyA(
  [in] HKEY   hKey,
  [in] LPCSTR lpFile,
  [in] DWORD  dwFlags
);

Parametri

[in] hKey

Handle per una chiave del Registro di sistema aperta. Questo handle viene restituito dalla funzione RegCreateKeyEx o RegOpenKeyEx. Può anche essere una delle chiavi predefinite seguenti:

HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS Qualsiasi informazione contenuta in questa chiave e le relative chiavi discendenti vengono sovrascritte dalle informazioni nel file a cui punta il parametro lpFile.

[in] lpFile

Nome del file con le informazioni del Registro di sistema. Questo file viene in genere creato usando la funzione regSaveKey .

[in] dwFlags

Flag che indicano la modalità di ripristino della chiave o delle chiavi. Questo parametro può essere uno dei valori seguenti.

Valore Significato
REG_FORCE_RESTORE
0x00000008L
Se specificato, l'operazione di ripristino viene eseguita anche se esistono handle aperti in corrispondenza o sotto la posizione nella gerarchia del Registro di sistema a cui punta il parametro hKey.
REG_WHOLE_HIVE_VOLATILE
0x00000001L
Se specificato, viene creato un nuovo set di informazioni del Registro di sistema volatile (solo memoria) o hive. Se si specifica REG_WHOLE_HIVE_VOLATILE, la chiave identificata dal parametro hKey deve essere il valore HKEY_USERS o HKEY_LOCAL_MACHINE.

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

Esistono due diversi formati di file Hive del Registro di sistema. Gli hive del Registro di sistema creati nei sistemi operativi correnti in genere non possono essere caricati da quelli precedenti.

Se sono aperte sottochiavi del parametro hKey, RegRestoreKey ha esito negativo.

Il processo chiamante deve disporre dei privilegi SE_RESTORE_NAME e SE_BACKUP_NAME nel computer in cui risiede il Registro di sistema. Per altre informazioni, vedere esecuzione con privilegi speciali.

Questa funzione sostituisce le chiavi e i valori sotto la chiave specificata con le chiavi e i valori che sono sussidiari alla chiave di primo livello nel file, indipendentemente dal nome della chiave di primo livello nel file. Ad esempio, hKey potrebbe identificare una chiave A con sottochiavi B e C, mentre il parametro lpFile specifica un file contenente la chiave X con sottochiavi Y e Z. Dopo una chiamata a RegRestoreKey, il Registro di sistema conterrà la chiave A con sottochiavi Y e Z. Le voci di valore di A verranno sostituite dalle voci di valore di X.

Le nuove informazioni nel file specificato da lpFile sovrascrivono il contenuto della chiave specificata dal parametro hKey, ad eccezione del nome della chiave.

Se hKey rappresenta una chiave in un computer remoto, il percorso descritto da lpFile è relativo al computer remoto.

Nota

L'intestazione winreg.h definisce RegRestoreKey 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

RegDeleteKey

RegLoadKey

RegReplaceKey

RegSaveKey

funzioni del Registro di sistema

Panoramica del Registro di sistema