Condividi tramite


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 o RegOpenKeyEx oppure può essere una delle chiavi predefinite seguenti :

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 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.

Osservazioni

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

La funzione regSaveKey salva solo le chiavi non volatile. Non salva chiavi volatili. Una chiave viene resa volatile o non volatile al momento della sua creazione; vedere RegCreateKeyEx.

È 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

Vedere anche

RegCreateKeyEx

RegDeleteKey

RegLoadKey

RegReplaceKey

RegRestoreKey

RegSaveKeyEx

file del Registro di sistema

funzioni del Registro di sistema

SECURITY_ATTRIBUTES