Les six clefs principales de la base de REGISTRE

La base de registre est composée de six clefs principales
Le tableau des six clefs du registre
Le tableau des alias du registre
La clef HKEY_CLASSES_ROOT du REGISTRE gère les extensions, les programmes et le CLSID
Les CLSID de certains objets
La clef HKEY_USERS du REGISTRE gère les configurations des utilisateurs
La clef HKEY_CURRENT_USER du REGISTRE gère la configuration de l’utilisateur en cours
La clef HKEY_LOCAL_MACHINE du REGISTRE gère la configuration matérielle et logicielle
La clef HKEY_CURRENT_CONFIG du REGISTRE gère la configuration matérielle en cours
La clef HKEY_DYN_DATA du REGISTRE gère les informations dynamiques
Les entrées EDITFLAG de la base de REGISTRE protègent les types de fichiers



La base de registre est composée de six clefs principales

La base de registre est composée de six clefs principales, appelées « rootkey » en anglais, lesquelles comportent de nombreuses sous-clefs ou clefs secondaires, appelées « subkey » en anglais. Les clefs secondaires sont classées par ordre alphabétique. Les clefs principales commencent toutes par HKEY qui signifie en anglais « handle key ».

Le tableau des six clefs du registre

Les six clefs du registre
Nom Fonction
HKEY_CLASSES_ROOT Gère les extensions, les programmes et le CLSID…
HKEY_CURRENT_USER Gère les configurations des utilisateurs…
HKEY_LOCAL_MACHINE Gère la configuration de l’utilisateur en cours…
HKEY_USERS Gère la configuration matérielle et logicielle…
HKEY_CURRENT_CONFIG Gère la configuration matérielle en cours …
HKEY_DYN_DATA Gère les informations dynamiques…


Parmi ces clefs principales, deux d’entre-elles sont véritablement principales, HKEY_LOCAL_MACHINE qui répertorie toutes les informations concernant la configuration matérielle et logicielle, et HKEY_USERS qui répertorie toutes les informations concernant les utilisateurs. Respectivement, ces informations sont enregistrées dans les fichiers SYSTEM.DAT et USER.DAT.

Les quatre autres clefs principales sont chacune reliées à l’une des sous branches d’une des deux clefs principales. Les informations contenues dans ces quatre clefs sont soit les mêmes que celles qui figurent dans les deux clefs principales, soit elles renvoient aux informations contenues dans l’une des deux clefs principales.
Par exemple HKEY_CLASSES_ROOT fait référence à HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES.
La duplication des informations dans les différentes six clefs principales permettent un accès plus rapide.

Toutes modifications de la base de registre, qu’elles soient effectuées à partir d’une des deux clefs principales ou à partir des quatre autres clefs, se répercutent et affectent automatiquement l’autre partie de la base de registre.

Le tableau des alias du registre


Les alias ou les pointeurs de la base de registre
Clef Pointeur
HKLM C’est SYSTEM.DAT
HKCC HKLM\CONFIG\Number
HKCR HKLM\SOFTWARE\Classes
HKU C’est USER.DAT
HKCU HKU\Username
HKDD Recréé en mémoire RAM à chaque démarrage


La clef HKEY_CLASSES_ROOT du REGISTRE gère les extensions, les programmes et le CLSID

HKEY_CLASSES_ROOT répertorie toutes les extensions de fichier et tous les programmes qui y sont associés.

Cette clef regroupe un grand nombre de sous clefs qui sont de deux sortes : Par exemple, l’extension .DOC apparaît dans HKEY_CLASSES_ROOT\.DOC et fait référence au programme de traitement de texte WORD.

D’autre part, la clef HKEY_CLASSES_ROOT répertorie tous les différents types de documents, les propriétés qui leurs sont associées, ainsi que, dans la sous clef HKEY_CLASSES_ROOT \ « document »\SHELL, la commande associée à un double clic et les commandes disponibles dans le menu contextuel du dit document. Par exemple, HKEY_CLASSES_ROOT\WORD.DOCUMENT.8\SHELL.

Enfin, la sous clef HKEY_CLASSES_ROOT\CLSID, qui renferme les même informations que le fichier REG.DAT de WINDOWS 3.X, contient un grand nombre de sous clefs enregistrées par les applications OLE, DRAG&DROP et les ACTIVE X.

Ces sous clefs s’identifient par leur CLASS ID CODE (CSLID), qui est une chaîne de caractère de 16 bits correspondant à 32 nombres hexadécimaux. Cette chaîne de caractère est unique et identique pour tous les ordinateurs. Elaborée, une bonne fois pour toutes par les outils de programmation de MICROSOFT GUIDGEN.EXE et UUUIDGEN.EXE, le CLSID permet d’identifier un programme OLE, DRAG&DROP ou ACTIVE X, et s’enregistre dans le registre pendant l’installation de l’application.

Toutes les clefs CLSID sont organisée selon l’ordre alphabétique du nom du document ou du nom de l’objet en anglais également, et sont enregistrées dans la branche :
HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES
Pour connaître le CLSID d’un programme, il faut d’abord connaître le nom du programme ou l’extension qui lui est associée, puis le ou la rechercher dans la branche :
HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES

Les CLSID de certains objets

Voici les CLSID d’un certain nombre d’objets :
Document WORD {00020900-0000-0000-C000-000000000046}
Porte-documents (briefcase) {85BBD920-42A0-1069-A2E4-08002B30309D}
Réseau Accès à Distance {992CFFA0-F557-101A-88EC-00DD010CCC48}
Imprimante {2227A280-3AEA-1069-A2DE-08002B30309D}
INTERNET Explorer {FBF23B42-E3F0-101B-8488-00AA003E56F8}
INTERNET Cache Folder {7BD29E00-76C1-11CF-9DD0-00A0C9034933}
Microsoft Network {00028B00-0000-0000-C000-000000000046}
Corbeille {645FF040-5081-101B-9F08-00AA002F954E}
Boite de Réception {00020D75-0000-0000-C000-000000000046}
Panneau de Configuration {21EC2020-3AEA-1069-A2DD-08002B30309D}
Dossier d’URL {FF393560-C2A7-11CF-BFF4-444553540000}

La clef HKEY_USERS du REGISTRE gère les configurations des utilisateurs

HKEY_USERS répertorie toutes les informations concernant chacun des utilisateurs (dont le premier d’entre eux, l’utilisateur par défaut, se retrouve dans la branche HKEY_USERS\.DEFAULT).

Les informations concernant chacun des utilisateurs sont les suivantes : Après une installation de WINDOWS 98, les paramètres qui sont pris en compte sont ceux définis par défaut dans la sous clef HKEY_USERS\.DEFAULT, de même ce sont les paramètres par défaut qui prévalent quand un nouvel utilisateur ouvre une session sans avoir de profil utilisateur propre.

Dès qu’un profil utilisateur est créé, une sous clef est créée dans le registre avec tous les paramètres de ce nouvel utilisateur :
HKEY_USERS\nom_du_nouvel_utilisateur
En même temps, un nouveau fichier s’enregistre dans l’arborescence du disque dur :
C:\WINDOWS\profile\nom_du_nouvel_utilisateur\ nom_du_nouvel_utilisateur.DAT

La clef HKEY_CURRENT_USER du REGISTRE gère la configuration de l’utilisateur en cours

HKEY_CURRENT_USER répertorie toutes les informations personnalisées de l’utilisateur en cours de session et sont prises en compte lors de la saisie du LOGIN de l’utilisateur.

HKEY_CURRENT_USER fait référence à la sous clef HKEY_USERS\nom_de_l’utilisateur.

Si l’utilisateur en cours n’a pas de profil utilisateur, alors ce sont les paramètres définis par défaut dans la clef HKEY_USERS\.DEFAULT qui sont pris en compte.

La clef HKEY_LOCAL_MACHINE du REGISTRE gère la configuration matérielle et logicielle

HKEY_LOCAL_MACHINE répertorie les informations relatives aux matériels présents, aux pilotes utilisés et aux logiciels installés. Ces données sont valables pour tous les utilisateurs et sont enregistrées dans le fichier suivant :
C:\WINDOWS\SYSTEM.DAT.
La clef HKEY_LOCAL_MACHINE s’organise en différentes sous-clefs ou branches : La configuration matérielle détectée par le système au démarrage est comparée avec les informations contenues dans les branches CONFIG et ENUM, et dans l’éventualité d’un nouveau matériel, des ressources lui sont attribuée et une nouvelle entrée est créée dans le registre.

Il existe deux types de fichiers particuliers, qui se nomment de la même façon en français « dossier », mais qui concernent deux objets différents, et qui sont répertoriés dans le registre sous deux dénomination différentes.
Il s’agit de HKEY_LOCAL_MACHINE\DIRECTORY qui concerne les répertoires ou dossiers de l’arborescence, et de HKEY_LOCAL_MACHINE\FOLDER qui concerne les dossiers systèmes, comme Le Poste de Travail et Le Panneau de Configuration qui ne s’ouvre en général que dans une seule fenêtre (à moins de choisir la commande EXPLORE, comme commande PAR DEFAUT dans la boite de dialogue MODIFICATION du TYPE de fichier…).

La clef HKEY_CURRENT_CONFIG du REGISTRE gère la configuration matérielle en cours

HKEY_CURRENT_CONFIG renvoie à la clef HKEY_LOCAL_MACHINE\CONFIG\000x selon qu’il y ait ou non plusieurs profils matériels, et rassemble les informations concernant la configuration matérielle courante : HKCC contient les différents « profils matériels » s’ils existent, et qui permettent d’utiliser un portable dans différentes configuration matériel, seul ou dans une station d’accueil.

La clef HKEY_DYN_DATA du REGISTRE gère les informations dynamiques

HKEY_DYN_DATA répertorie toutesles informations dynamiques, (id est) celles qui sont modifiées souvent et auxquelles le système accède régulièrement : Cette clef peut accueillir certaines informations déposées par des fabricants de matériels…

HKDD est recréé à chaque démarrage du système d’exploitation par Windows, et stocké dans la mémoire vive afin de pouvoir y accéder rapidement. C’est ce qui permet le « hot plug », c’est à dire le branchement d’un nouveau matériel alors que le système est déjà démarré. La configuration active (HKDD) est en lecture seule et n’est pas accessible directement par un utilisateur. Le seul moyen de modifier HKDD est d’effectuer des modification dans HKLM (via les modules SYSTEME et Ajout de Nouveau Matériel du Panneau de Configuration) et de redémarrer l’ordinateur et le système afin que les nouveaux paramètres soient intégrés à HKDD. HKDD est une partie seulement de HKLM et HKDD consomme moins de mémoire vive que si c’était HKLM qui était stocké dans la mémoire RAM.

« L’arbre matériel » du module SYSTEME (dans l’onglet Gestionnaire de périphérique) est une représentation graphique de la sous clef « HKDD\ConfigManager\Enum\ » et de certaines clefs de « HKLM\Enum ». Dans l’arbre matériel du module SYSTEME, un double clic sur la racine « ordinateur » affiche les ressources de l’ordinateur et permet éventuellement de réserver des ressources pour un appareil à venir, ou pour un appareil qui n’est pas détecter par le PLUG & PLAY (par exemple les appareil qui n’ont pas de pilote en « mode protégé », c’est à dire pour l’interface graphique de Windows 95).

Les entrées EDITFLAG de la base de REGISTRE protègent les types de fichiers

Les entrées EDITFLAG du registre protègent les types de fichiers auxquels ils sont rattachés et verrouillent les paramètres qui leurs sont attribués par défaut.

Par exemple, les documents WORD sont un type de fichier qui se nomme « DOCUMENT MICROSOFT WORD et dont l’extension est toujours .DOC.

Pour accéder à tous les types de fichiers qui sont enregistrés sur un ordinateur, il faut ouvrir l’EXPLORATEUR, sélectionner la commande AFFICHAGE/OPTIONS DES dossiers, puis choisir l’onglet TYPE de fichiers. La liste de tous les types de fichiers apparaît dans l’ordre alphabétique de nom de type de fichier.

Pour accéder à la boite de dialogue qui renferme les options et les paramètres propres à un type de fichier, il faut sélectionner l’un des types de fichiers et en appuyer sur le bouton MODIFIER. La boite de dialogue MODIFIER LE TYPE de fichier apparaît et présente l’ensemble des options et des paramètres associés à ce type de fichier : En général, toutes les options, tous les boutons et tous les champs de saisie de cette boite de dialogue sont disponibles ; toutefois, il arrive que ce ne soit pas le cas et que le type de fichier soit protégé des modifications intempestives.
Par exemple, les fichiers de type « Fichier de commande MS-DOS » qui correspondent aux fichiers dont l’extension est .BAT (les fichiers BATCH) n’offrent pas toutes les possibilités de modification dans leur boite de dialogue. Cette protection s’opère par une sorte de veto prononcé dans le registre  et qui est fonction de la valeur attribuée à l’entrée EDITFLAG correspondant au type de fichier.

Tous les types de fichiers ont une entrée EDITFLAG dans le registre, cette entrée est de type DWORD de 4 octets écrits en hexadécimale.
La valeur « 00 00 00 00 » attribuée à l’entrée EDITFLAG d’un type de fichier signifie que toutes les options, tous les boutons et tous les champs de saisie de cette boite de dialogue MODIFIER LE TYPE de fichier seront disponibles. Une valeur différente de ZERO signifie que des restrictions seront appliquées.
Par exemple, la clef HKEY_CLASSES_ROOT\BATFILE qui correspond au fichier BATCH présente l’entrée EDITFLAG avec la valeur « d0 04 00 00 ».

Les valeurs des entrées EDITFLAG sont écrites en hexadécimale de 4 octets dans le registre, seuls comptent les deux premiers octets et ils se lisent de gauche à droite. A la valeur de ces deux octets en hexadécimale qui se lisent de gauche à droite correspond la même valeur exprimée en binaire de deux octets qui se lisent eux de droite à gauche. Ainsi, le sens de lecture est inversé lors de la conversion de l’hexadécimal vers le binaire.
Un octet en hexadécimales peut prendre les valeurs de 00 à FF, soit 16*16 = 256 possibilités. Un octet en binaire peut prendre les valeurs de 0000 0000 à 1111 1111, soit (2*2*2*2)*(2*2*2*2) = 256 possibilités.
Par exemple, la valeur des deux premiers octets attribuée à l’entrée EDITFLAG des fichiers BATCH est « d0 04 » et signifie en binaire « 1101 0000 0000 0100 ».

Il suffit de jongler avec les options HEX et BIN de la calculatrice en mode d’affichage scientifique pour opérer la conversion (DEMARRER/EXECUTER saisir « calc » et ENTREE pour obtenir la calculatrice, AFFICHAGE/SCIENTIFIQUE pour obtenir le mode scientifique).

Maintenant, à chacun des 16 bits de la valeur binaire correspond une option ou une fonctionnalité de la boite de dialogue MODIFICATION DU TYPE de fichier, cette option peut être active ou non selon que le bit est à 0 ou à 1 : Plusieurs options ou fonctionnalités peuvent être combinées, il suffit pour cela d’additionner les valeurs binaires. Une fois la valeur binaire déterminée, il faut la convertir en valeur hexadécimale en utilisant la calculatrice en mode scientifique, rajouter les ZERO qui manquent, inverser l’ordre des octets avant de saisir la nouvelle valeur EDITFLAG dans le registre.
Par exemple, la valeur binaire « 0000 0100 1100 0000 » s’écrit dans la calculatrice avec l’option BIN sans les ZERO du début « 10011000000 », et se traduit, en choisissant l’option HEX, en valeur hexadécimale « 4CO », mais celle-ci doit s’exprimer avec les ZERO du début, soit huit symboles pour quatre octets « 00 00 04 C0 », et comme il faut inverser le sens de lecture des quatre octets, il faut saisir dans le registre la valeur « C0 04 00 00» pour l’entrée EDITFLAG…(bon courage)