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

Vedi anche

RegCreateKeyEx

RegDeleteKey

RegLoadKey

RegReplaceKey

RegRestoreKey

RegSaveKeyEx

File del Registro di sistema

Funzioni del Registro di sistema

SECURITY_ATTRIBUTES