Funzione RegSaveKeyA (winreg.h)
Salva la chiave specificata e tutti i relativi sottochiavi e valori in un nuovo file, nel formato standard.
Per specificare il formato per la chiave salvata o l'hive, usare la funzione RegSaveKeyEx .
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 RegSaveKeyA(
[in] HKEY hKey,
[in] LPCSTR lpFile,
[in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
Parametri
[in] hKey
Handle per una chiave del Registro di sistema aperta.
Questo handle viene restituito dalla funzione RegCreateKeyEx o RegOpenKeyEx oppure può essere una delle chiavi predefinite seguenti:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_USER
[in] lpFile
Nome del file in cui deve essere salvata la chiave e le sottochiavi specificate. Se il file esiste già, la funzione ha esito negativo.
Se la stringa non include un percorso, il file viene creato nella directory corrente del processo di chiamata per una chiave locale o nella directory %systemroot%\system32 per una chiave remota. Il nuovo file ha l'attributo di archiviazione.
[in, optional] lpSecurityAttributes
Puntatore a una struttura SECURITY_ATTRIBUTES che specifica un descrittore di sicurezza per il nuovo file. Se lpSecurityAttributes è NULL, il file ottiene un descrittore di sicurezza predefinito. Gli ACL in un descrittore di sicurezza predefinito per un file vengono ereditati dalla directory padre.
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.
Se il file esiste già, la funzione ha esito negativo con l'errore ERROR_ALREADY_EXISTS.
Commenti
Se hKey rappresenta una chiave in un computer remoto, il percorso descritto da lpFile è relativo al computer remoto.
La funzione RegSaveKey salva solo chiavi nonvolatile. Non salva chiavi volatili. Una chiave viene resa volatile o nonvolatile alla sua creazione; vedere RegCreateKeyEx.
È possibile usare il file creato da RegSaveKey nelle chiamate successive alle funzioni RegLoadKey, RegReplaceKey o RegRestoreKey. Se RegSaveKey ha esito negativo durante l'operazione, il file verrà danneggiato e le chiamate successive a RegLoadKey, RegReplaceKey o RegRestoreKey per il file avranno esito negativo.
Non è consigliabile usare RegSaveKey insieme a RegRestoreKey per copiare sottoalberi nel Registro di sistema. Questo metodo non attiva le notifiche e può invalidare gli handle usati da altre applicazioni. Usare invece la funzione SHCopyKey o la funzione RegCopyTree .
Il processo di chiamata deve avere il privilegio SE_BACKUP_NAME abilitato. Per altre informazioni, vedere Esecuzione con privilegi speciali.
Nota
L'intestazione winreg.h definisce RegSaveKey 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
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 |