Funzione RegOpenUserClassesRoot (winreg.h)
Recupera un handle alla chiave di HKEY_CLASSES_ROOT per un utente specificato. L'utente viene identificato da un token di accesso. La chiave restituita ha una visualizzazione del Registro di sistema che unisce il contenuto della chiave HKEY_LOCAL_MACHINE\Software\Classes con il contenuto delle chiavi Software\Classes nell'hive del Registro di sistema dell'utente. Per altre informazioni, vedere HKEY_CLASSES_ROOT Chiave.
Sintassi
LSTATUS RegOpenUserClassesRoot(
[in] HANDLE hToken,
DWORD dwOptions,
[in] REGSAM samDesired,
[out] PHKEY phkResult
);
Parametri
[in] hToken
Handle a un token di accesso primario o di rappresentazione che identifica l'utente di interesse. Questo può essere un handle token restituito da una chiamata a LogonUser, CreateRestrictedToken, DuplicateToken, DuplicateTokenEx, OpenProcessToken o Le funzioni OpenThreadToken .
L'handle deve avere accesso TOKEN_QUERY. Per altre informazioni, vedere Diritti di accesso per gli oggetti Access-Token.
dwOptions
Questo parametro è riservato e deve essere zero.
[in] samDesired
Maschera che specifica i diritti di accesso desiderati alla chiave. La funzione ha esito negativo se il descrittore di sicurezza della chiave non consente l'accesso richiesto per il processo di chiamata. Per altre informazioni, vedere Sicurezza delle chiavi del Registro di sistema e diritti di accesso.
[out] phkResult
Puntatore a una variabile che riceve un handle per la chiave aperta. Quando non è più necessario l'handle restituito, chiamare la funzione RegCloseKey per chiuderla.
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.
Commenti
La funzione RegOpenUserClassesRoot consente di recuperare le informazioni di HKEY_CLASSES_ROOT unite per gli utenti diversi dall'utente interattivo. Ad esempio, il componente server di un'applicazione client/server può usare RegOpenUserClassesRoot per recuperare le informazioni unite per un client.
RegOpenUserClassesRoot ha esito negativo se il profilo utente per l'utente specificato non viene caricato. Quando un utente accede in modo interattivo, il sistema carica automaticamente il profilo dell'utente. Per altri utenti, è possibile chiamare la funzione LoadUserProfile per caricare il profilo dell'utente. Tuttavia, LoadUserProfile può richiedere molto tempo, quindi non chiamarlo per questo scopo, a meno che non sia assolutamente necessario disporre delle informazioni di HKEY_CLASSES_ROOT unite dell'utente.
Le applicazioni in esecuzione nel contesto di sicurezza dell'utente connesso in modo interattivo non devono usare RegOpenUserClassesRoot. Queste applicazioni possono chiamare la funzione RegOpenKeyEx per recuperare una visualizzazione unita della chiave di HKEY_CLASSES_ROOT per l'utente interattivo.
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 |