Recupero di dati dal Registro di sistema
Per recuperare i dati dal Registro di sistema, un'applicazione enumera in genere le sottochiave di una chiave finché non trova un determinato oggetto e quindi recupera i dati dal valore o dai valori associati. Un'applicazione può chiamare la funzione RegEnumKeyEx per enumerare le sottochiave di una determinata chiave.
Per recuperare dati dettagliati su una determinata sottochiave, un'applicazione può chiamare la funzione RegQueryInfoKey . La funzione RegGetKeySecurity recupera una copia del descrittore di sicurezza che protegge una chiave.
Un'applicazione può usare la funzione RegEnumValue per enumerare i valori per una determinata chiave e la funzione RegQueryValueEx per recuperare un valore specifico per una chiave. Un'applicazione chiama in genere RegEnumValue per determinare i nomi dei valori e quindi RegQueryValueEx per recuperare i dati per i nomi.
La funzione RegQueryMultipleValues recupera il tipo e i dati per un elenco di nomi di valori associati a una chiave del Registro di sistema aperta. Questa funzione è utile per i provider di chiavi dinamiche perché assicura la coerenza dei dati recuperando più valori in un'operazione atomica.
Poiché altre applicazioni possono modificare i dati in un valore del Registro di sistema tra il momento in cui l'applicazione può leggere un valore e usarlo, potrebbe essere necessario assicurarsi che l'applicazione disponga dei dati più recenti. È possibile usare la funzione RegNotifyChangeKeyValue per notificare al thread chiamante quando vengono apportate modifiche agli attributi o al contenuto di una chiave del Registro di sistema oppure se la chiave viene eliminata. La funzione segnala un oggetto evento per notificare al chiamante. Se il thread che chiama RegNotifyChangeKeyValue viene chiuso, l'evento viene segnalato e il monitoraggio della chiave del Registro di sistema viene arrestato.
È possibile controllare o specificare le modifiche da segnalare tramite l'uso di un filtro o un flag di notifica. In genere, le modifiche vengono segnalate segnalando un evento specificato nella funzione. Si noti che la funzione RegNotifyChangeKeyValue non funziona con handle remoti.
Per monitorare le operazioni del Registro di sistema in modo più dettagliato, vedere Registro di sistema.