Funzione RegFlushKey (winreg.h)
Scrive nel Registro di sistema tutti gli attributi della chiave aperta specificata.
Sintassi
LSTATUS RegFlushKey(
[in] HKEY hKey
);
Parametri
[in] hKey
Handle per una chiave del Registro di sistema aperta. La chiave deve essere stata aperta con il diritto di accesso KEY_QUERY_VALUE. Per altre informazioni, vedere Sicurezza e diritti di accesso delle chiavi del Registro di sistema.
Questo handle viene restituito dalla funzione RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx o RegOpenKeyTransacted . Può anche essere una delle chiavi predefinite seguenti:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_PERFORMANCE_DATA
- HKEY_USERS
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene 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.
Commenti
La chiamata a RegFlushKey è un'operazione costosa che influisce in modo significativo sulle prestazioni a livello di sistema perché utilizza la larghezza di banda del disco e blocca le modifiche a tutte le chiavi da parte di tutti i processi nell'hive del Registro di sistema che viene scaricata fino al completamento dell'operazione di scaricamento. RegFlushKey deve essere chiamato in modo esplicito solo quando un'applicazione deve garantire che le modifiche del Registro di sistema vengano rese persistenti sul disco immediatamente dopo la modifica. Tutte le modifiche apportate alle chiavi sono visibili ad altri processi senza la necessità di scaricarle su disco.
In alternativa, il Registro di sistema dispone di un meccanismo di "scaricamento differita" che scarica le modifiche del Registro di sistema sul disco a intervalli regolari di tempo. Oltre a questa normale operazione di scaricamento, anche le modifiche del Registro di sistema vengono scaricate su disco all'arresto del sistema. Consentire allo "scaricamento differita" di scaricare le modifiche del Registro di sistema è il modo più efficiente per gestire le scritture del Registro di sistema nell'archivio del Registro di sistema su disco.
La funzione RegFlushKey restituisce solo quando tutti i dati per l'hive che contiene la chiave specificata sono stati scritti nell'archivio del Registro di sistema su disco.
La funzione RegFlushKey scrive i dati per altre chiavi nell'hive che sono state modificate dopo l'avvio dell'ultimo scaricamento differita o del sistema.
Dopo la restituzione di RegFlushKey , usare RegCloseKey per chiudere l'handle alla chiave del Registro di sistema.
Requisiti
Requisito | Valore |
---|---|
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 |