Funzione RegSaveKeyExA (winreg.h)
Salva la chiave specificata e tutte le relative sottochiavi e valori in un file del Registro di sistema, nel formato specificato.
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 RegSaveKeyExA(
[in] HKEY hKey,
[in] LPCSTR lpFile,
[in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes,
[in] DWORD Flags
);
Parametri
[in] hKey
Handle per una chiave del Registro di sistema aperta.
Questa funzione non supporta il HKEY_CLASSES_ROOT chiave predefinita.
[in] lpFile
Nome del file in cui salvare la chiave e le sottochiavi specificate. Se il file esiste già, la funzione ha esito negativo.
Il nuovo file ha l'attributo archive.
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.
[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.
[in] Flags
Formato della chiave salvata o dell'hive. Questo parametro può essere uno dei valori seguenti.
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 per il parametro Flags viene specificato più di uno dei possibili valori elencati in precedenza, ad esempio se due o più valori sono OR, oppure se REG_NO_COMPRESSION viene specificato e hKey specifica una chiave che non è la radice di un hive, questa funzione restituisce ERROR_INVALID_PARAMETER.
Osservazioni
A differenza di RegSaveKey, questa funzione non supporta la chiave predefinita HKEY_CLASSES_ROOT.
Se hKey rappresenta una chiave in un computer remoto, il percorso descritto da lpFile è relativo al computer remoto.
La funzione regSaveKeyEx
È possibile usare il file creato da RegSaveKeyEx nelle chiamate successive alla funzione RegLoadKey, RegReplaceKeyo RegRestoreKey. Se RegSaveKeyEx ha esito negativo durante l'operazione, il file verrà danneggiato e le chiamate successive a RegLoadKey, RegReplaceKeyo RegRestoreKey per il file avrà esito negativo.
Non è consigliabile usare RegSaveKeyEx 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 RegSaveKeyEx 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 XP [solo app desktop] |
server minimo supportato | Windows Server 2003 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
winreg.h (include Windows.h) |
libreria |
Advapi32.lib |
dll | Advapi32.dll |