Partager via


Fonction RegOpenUserClassesRoot (winreg.h)

Récupère un handle à la clé HKEY_CLASSES_ROOT pour un utilisateur spécifié. L’utilisateur est identifié par un jeton d’accès. La clé retournée a une vue du Registre qui fusionne le contenu de la clé HKEY_LOCAL_MACHINE\Software\Classes avec le contenu des clés Software\Classes dans la ruche du Registre de l’utilisateur. Pour plus d’informations, consultez clé HKEY_CLASSES_ROOT.

Syntaxe

LSTATUS RegOpenUserClassesRoot(
  [in]  HANDLE hToken,
        DWORD  dwOptions,
  [in]  REGSAM samDesired,
  [out] PHKEY  phkResult
);

Paramètres

[in] hToken

Handle vers un jeton d’accès principal ou d’emprunt d’identité qui identifie l’utilisateur concerné. Il peut s’agir d’un handle de jeton retourné par un appel aux fonctions LogonUser, CreateRestrictedToken, DuplicateToken, DuplicateTokenEx, OpenProcessToken ou OpenThreadToken .

Le handle doit avoir un accès TOKEN_QUERY. Pour plus d’informations, consultez Droits d’accès pour les objets Access-Token.

dwOptions

Ce paramètre est réservé et doit être égal à zéro.

[in] samDesired

Masque qui spécifie les droits d’accès souhaités à la clé. La fonction échoue si le descripteur de sécurité de la clé n’autorise pas l’accès demandé pour le processus appelant. Pour plus d’informations, consultez Sécurité de la clé de Registre et droits d’accès.

[out] phkResult

Pointeur vers une variable qui reçoit un handle vers la clé ouverte. Lorsque vous n’avez plus besoin du handle retourné, appelez la fonction RegCloseKey pour la fermer.

Valeur retournée

Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.

Si la fonction échoue, la valeur de retour est un code d’erreur différent de zéro défini dans Winerror.h. Vous pouvez utiliser la fonction FormatMessage avec l’indicateur FORMAT_MESSAGE_FROM_SYSTEM pour obtenir une description générique de l’erreur.

Remarques

La fonction RegOpenUserClassesRoot vous permet de récupérer les informations de HKEY_CLASSES_ROOT fusionnées pour les utilisateurs autres que l’utilisateur interactif. Par exemple, le composant serveur d’une application cliente/serveur peut utiliser RegOpenUserClassesRoot pour récupérer les informations fusionnées pour un client.

RegOpenUserClassesRoot échoue si le profil utilisateur de l’utilisateur spécifié n’est pas chargé. Lorsqu’un utilisateur se connecte de manière interactive, le système charge automatiquement le profil de l’utilisateur. Pour d’autres utilisateurs, vous pouvez appeler la fonction LoadUserProfile pour charger le profil de l’utilisateur. Toutefois, LoadUserProfile peut prendre beaucoup de temps. Ne l’appelez donc pas à cette fin, sauf s’il est absolument nécessaire de fusionner les informations HKEY_CLASSES_ROOT de l’utilisateur.

Les applications s’exécutant dans le contexte de sécurité de l’utilisateur connecté de manière interactive n’ont pas besoin d’utiliser RegOpenUserClassesRoot. Ces applications peuvent appeler la fonction RegOpenKeyEx pour récupérer une vue fusionnée de la clé HKEY_CLASSES_ROOT pour l’utilisateur interactif.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winreg.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

LoadUserProfile

RegCloseKey

RegOpenKeyEx

Fonctions du Registre

Vue d’ensemble du Registre