Clés prédéfinies

Une application doit ouvrir une clé avant de pouvoir ajouter des données au Registre. Pour ouvrir une clé, une application doit fournir un handle à une autre clé du Registre déjà ouverte. Le système définit des clés prédéfinies qui sont toujours ouvertes. Les clés prédéfinies aident une application à naviguer dans le Registre et permettent de développer des outils qui permettent à un administrateur système de manipuler des catégories de données. Les applications qui ajoutent des données au Registre doivent toujours fonctionner dans le cadre de clés prédéfinies, afin que les outils d’administration puissent rechercher et utiliser les nouvelles données.

Une application peut utiliser des handles pour ces clés comme points d’entrée au Registre. Ces handles sont valides pour toutes les implémentations du Registre, même si leur utilisation peut varier d’une plateforme à l’autre. En outre, d’autres handles prédéfinis ont été définis pour des plateformes spécifiques. Les éléments suivants sont des handles pour les clés prédéfinies.

Handle Description
HKEY_CLASSES_ROOT
Les entrées de Registre subordonnées à cette clé définissent des types (ou des classes) de documents et les propriétés associées à ces types. Les applications Shell et COM utilisent les informations stockées sous cette clé.
Cette clé assure également la compatibilité descendante avec la base de données d’inscription Windows 3.1 en stockant des informations pour la prise en charge de DDE et OLE. Les visionneuses de fichiers et les extensions d’interface utilisateur stockent leurs identificateurs de classe OLE dans HKEY_CLASSES_ROOT, et les serveurs in-process sont inscrits dans cette clé.
Ce handle ne doit pas être utilisé dans un service ou une application qui emprunte l’identité de différents utilisateurs.
Pour plus d’informations, consultez HKEY_CLASSES_ROOT.
HKEY_CURRENT_CONFIG
Contient des informations sur le profil matériel actuel du système d’ordinateur local. Les informations sous HKEY_CURRENT_CONFIG décrivent uniquement les différences entre la configuration matérielle actuelle et la configuration standard. Les informations sur la configuration matérielle standard sont stockées sous les clés logiciel et système de HKEY_LOCAL_MACHINE.
HKEY_CURRENT_CONFIG est un alias pour HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current.
Pour plus d’informations, consultez HKEY_CURRENT_CONFIG.
HKEY_CURRENT_USER
Les entrées de Registre subordonnées à cette clé définissent les préférences de l’utilisateur actuel. Ces préférences incluent les paramètres des variables d’environnement, les données sur les groupes de programmes, les couleurs, les imprimantes, les connexions réseau et les préférences d’application. Cette clé facilite l’établissement des paramètres de l’utilisateur actuel ; la clé est mappée à la branche de l’utilisateur actuel dans HKEY_USERS. Dans HKEY_CURRENT_USER, les éditeurs de logiciels stockent les préférences utilisateur actuelles à utiliser dans leurs applications. Microsoft, par exemple, crée la clé HKEY_CURRENT_USER\Software\Microsoft que ses applications utilisent, chaque application créant sa propre sous-clé sous la clé Microsoft .
Le mappage entre HKEY_CURRENT_USER et HKEY_USERS est établi par processus et est établi la première fois que le processus fait référence HKEY_CURRENT_USER. Le mappage est basé sur le contexte de sécurité du premier thread pour référencer HKEY_CURRENT_USER. Si ce contexte de sécurité n’a pas de ruche de Registre chargée dans HKEY_USERS, le mappage est établi avec HKEY_USERS\.Default. Une fois ce mappage établi, il persiste, même si le contexte de sécurité du thread change.
Toutes les entrées de Registre dans HKEY_CURRENT_USER à l’exception de celles sous HKEY_CURRENT_USER\Software\Classes sont incluses dans la partie registre par utilisateur d’un profil utilisateur itinérant. Pour exclure d’autres entrées d’un profil utilisateur itinérant, stockez-les dans HKEY_CURRENT_USER_LOCAL_SETTINGS.
Ce handle ne doit pas être utilisé dans un service ou une application qui emprunte l’identité de différents utilisateurs. Au lieu de cela, appelez la fonction RegOpenCurrentUser .
Pour plus d’informations, consultez HKEY_CURRENT_USER.
HKEY_CURRENT_USER_LOCAL_SETTINGS
Les entrées de Registre subordonnées à cette clé définissent les préférences de l’utilisateur actuel qui sont locales sur l’ordinateur. Ces entrées ne sont pas incluses dans la partie du Registre par utilisateur d’un profil utilisateur itinérant. Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP/2000 : Cette clé est prise en charge à partir de Windows 7 et Windows Server 2008 R2.

HKEY_LOCAL_MACHINE
Les entrées de Registre subordonnées à cette clé définissent l’état physique de l’ordinateur, y compris les données sur le type de bus, la mémoire système et le matériel et les logiciels installés. Il contient des sous-clés qui contiennent des données de configuration actuelles, y compris des informations Plug-and-Play (la branche Enum, qui comprend une liste complète de tout le matériel qui a déjà été présent sur le système), les préférences d’ouverture de session réseau, les informations de sécurité réseau, les informations relatives aux logiciels (telles que les noms de serveurs et l’emplacement du serveur) et d’autres informations système.
Pour plus d’informations, consultez HKEY_LOCAL_MACHINE.
HKEY_PERFORMANCE_DATA
Les entrées de Registre subordonnées à cette clé vous permettent d’accéder aux données de performances. Les données ne sont pas réellement stockées dans le registre ; les fonctions du Registre permettent au système de collecter les données à partir de sa source.
HKEY_PERFORMANCE_NLSTEXT
Les entrées de Registre subordonnées à cette clé font référence aux chaînes de texte qui décrivent les compteurs dans la langue locale de la zone dans laquelle le système informatique s’exécute. Ces entrées ne sont pas disponibles pour Regedit.exe et Regedt32.exe. Windows 2000 : Cette clé n’est pas prise en charge.

HKEY_PERFORMANCE_TEXT
Les entrées de Registre subordonnées à cette clé font référence aux chaînes de texte qui décrivent les compteurs en anglais américain. Ces entrées ne sont pas disponibles pour Regedit.exe et Regedt32.exe. Windows 2000 : Cette clé n’est pas prise en charge.

HKEY_USERS
Les entrées de Registre subordonnées à cette clé définissent la configuration utilisateur par défaut pour les nouveaux utilisateurs sur l’ordinateur local et la configuration utilisateur de l’utilisateur actuel.

La fonction RegOverridePredefKey vous permet de mapper une clé de Registre prédéfinie à une clé spécifiée dans le Registre. Par instance, un programme d’installation de logiciel peut remappper une clé prédéfinie avant d’installer un composant DLL. Cela permet au programme d’installation d’examiner facilement les informations que la procédure d’installation de la DLL écrit dans la clé prédéfinie.

Les fonctions RegDisablePredefinedCache et RegDisablePredefinedCacheEx désactivent la mise en cache des handles de Registre prédéfinis. Les services qui utilisent l’emprunt d’identité doivent appeler RegDisablePredefinedCacheEx avant d’utiliser des handles de Registre prédéfinis.

Les handles prédéfinis ne sont pas thread safe. La fermeture d’un handle prédéfini dans un thread affecte tous les autres threads qui utilisent le handle.