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 |