Funzione RegRestoreKeyA (winreg.h)

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

Le applicazioni che esegue il backup o il ripristino dello stato del sistema, inclusi i file di sistema e gli hives 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_CONFIG HKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS Informazioni contenute in questa chiave e le relative chiavi discendenti vengono sovrascritte dalle informazioni nel file a cui fa riferimento 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

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

Valore Significato
REG_FORCE_RESTORE
0x00000008L
Se specificato, l'operazione di ripristino viene eseguita anche se gli handle aperti sono presenti 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 (solo memoria) o hive. Se viene specificato 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.

Commenti

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

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

Il processo chiamante deve avere i 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 sottochiave Y e Z. Dopo una chiamata a RegRestoreKey, il Registro di sistema contiene la chiave A con sottochiave 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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winreg.h (include Windows.h)
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

RegDeleteKey

RegLoadKey

RegReplaceKey

Regsavekey

Funzioni del Registro di sistema

Panoramica del Registro di sistema