Clés et valeurs
Clés
Une clé peut être considérée comme un dossier dans une ruche. Dans certain cas, une clé sera une ruche imbriquée ou liée à une autre. On peut penser à HKLM\Software qui est en soit une ruche mais est manipulée comme étant une clé ou les clés situés sous HKEY_USERS qui sont des ruches individuelles. Chaque clé possède une valeur par défaut nommée "(Default)" qui est une chaîne de caractère indéfinie à la création de la clé. Quoi que celle-ci puisse être modifiée, les valeurs associées à une clé seront habituellement nommées. Tout comme le chemin d'accès le plus long supporté par l'explorateur de fichiers, le chemin d'accès d'une clé ne doit pas excéder 255 caractères.
Valeurs
Une valeur est une donnée associée à un nom. On pourrait ici penser à des fichiers et leur contenu ou encore à un nom de variable et une valeur lui étant assignée. Différents types de valeurs existent avec différents objectifs. Le nom de la valeur ne doit pas excéder 16 383 caractères ou 128Kb. La donnée associée au nom historiquement ne devait pas excéder 1 MB mais peut maintenant être étendue jusqu'à en remplir la mémoire vive.
Ceci dit, toute valeur excédant 2Kb devrait être stockée dans un fichier et la clé de registre devrait correspondre au chemin d'accès du fichier. On pourrait penser ici à l'arrière-plan d'une application où la méthode logique serait de pointer vers le fichier d'image plutôt que de stocker l'image dans le registre.
REG_SZ
Les valeurs de type REG_SZ contiennent une chaîne de caractère de longueur fixe.
REG_MULTI_SZ
Les valeurs de type REG_MULTI_SZ contiennent plusieurs chaînes de caractères uniques (une par ligne).
REG_EXPAND_SZ
Les valeurs de type REG_EXPAND_SZ représentent une chaîne de caractère comprenant des variables d'environnement. On pourrait ici imaginer que la valeur contienne %username%. Lorsque cette valeur serait consultée, la variable serait étendue et remplacée par sa valeur.
REG_BINARY
Les valeurs de type REG_BINARY sont une valeur binaire simple.
REG_DWORD
Le type de données "DWORD" ou "double word" est un nombre entier de longueur fixe de 32 bits. Il peut être représenté de façon binaire ou hexadécimale.
REG_QWORD
Le type de données "QWORD" ou "quad word" est un nombre entier de longueur fixe de 64 bits. Il peut être représenté de façon binaire ou hexadécimale.