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

Vedi anche

LoadUserProfile

Regclosekey

Regopenkeyex

Funzioni del Registro di sistema

Panoramica del Registro di sistema