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 hive 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
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_USER
[in] lpFile
Nome del file in cui salvare 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 chiamante per una chiave locale o nella directory %systemroot%\system32 per una chiave remota. Il nuovo file ha l'attributo archive.
[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
Se il file esiste già, la funzione ha esito negativo con l'errore ERROR_ALREADY_EXISTS.
Osservazioni
Se hKey rappresenta una chiave in un computer remoto, il percorso descritto da lpFile è relativo al computer remoto.
La funzione regSaveKey
È possibile usare il file creato da RegSaveKey nelle chiamate successive alle funzioni di RegLoadKey, RegReplaceKeyo RegRestoreKey. Se RegSaveKey ha esito negativo durante l'operazione, il file verrà danneggiato e le chiamate successive a RegLoadKey, RegReplaceKeyo 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 chiamante 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 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 |