Vie secrète de Windows : La clé mystère

Certains paramètres sont jamais censés être changé ou manipulé. Lorsque vous rencontrez l'un d'entre eux, laissez-le tranquille.

Raymond Chen

« Pourquoi le système agit-elle drôle quand je modifie cette clé de Registre sans papiers? » C'est jamais le genre de question que vous souhaitez écouter.

Un client a dit qu'une case à cocher particulière semble être associée à une clé de Registre sans papiers. Parce que le client voulait contrôler cette case à cocher par programme, il a écrit un script pour manipuler cette clé, mais ensuite le système a commencé à agir étrangement. Imaginer cela.

"Si je commence avec la clé, la valeur 0 et définir manuellement à 1, quand je vais dans le panneau de configuration, il montre la case cochée, mais le système se comporte comme si la case à cocher est toujours désactivée. Plus étrange encore ; Si j'essaie d'activer/désactiver la case à cocher du panneau de commande, il n'est pas activer/désactiver. Il reste juste vérifié. J'apprécierais vos commentaires. »

Parfois les gens obtenir tellement enfermés dans décrivant leur problème qu'ils oublient de poser une question. Dans ce cas, le client décrit toutes les choses qu'ils ont fait et ce qu'ils ont observé. Toutefois, il n'a pas réellement État quel type d'aide dont il avait besoin. Un développeur lire cela pourrait dire, « c'est logique, » ou, éventuellement, "mon, quelle une histoire intéressante. »

Supposons que la question est : "Pouvez-vous m'aider trouver un moyen de contrôler la case par programme ? Modification du Registre ne semble pas fonctionner. »

Ne pas modifier

Eh bien, la clé de registre en question est non documentée pour une raison : Modification directe n'est pas pris en charge. Modification directe provoque des États internes à se désynchroniser. Ensuite, vous obtenez un comportement bizarre comme celui décrit par le client.

Considérez que vous êtes dans un restaurant chic. Ce restaurant chic conserve une copie principale du menu quotidien dans la cuisine. Au début de la journée, chaque garçon et le cuisinier se penche sur le menu et le livre sur la mémoire. Parfois, le chef fera un changement au menu en milieu de journée. Quand elle le fait, elle raconte le personnel à ce sujet donc tout le monde sait et reste en accord. « Nous avons manqué de flétan, donc rayer le flétan pour le reste de la soirée. » De cette façon, les serveurs n'offriront pas invités des plats qui n'existent pas.

Ce menu est comme le registre. Supposons qu'un client se glisse dans la cuisine, prend un stylo, traverse les biftecks et écrit New York steak, puis remonte dans la salle à manger et essaie de commander le New York steak. (Peut-être que le client modifie également le prix de 45 $ à 35 $ pour faire bonne mesure.)

Le garçon dira: « je suis désolé, Monsieur, mais nous n'avez pas steak New York aujourd'hui. Puis-je suggérer le filet mignon?"

Ensuite, le client dit, "vous avez tort. Vous avez steak New York aujourd'hui. Retournez dans la cuisine et regardez le menu principal. Vous verrez qu'il est là. Ce restaurant patienter personnel procédures sont clairement inappropriées."

Le menu principal dans la cuisine est sans papiers. Comment est-ce que le client sait sur le menu principal ? Clients apporter des changements pour le menu principal est un comportement totalement non pris en charge. Vous barrer le filet mignon et écrivez New York steak ne veut pas dire New York steak apparaît soudainement dans la cuisine.

Le garçon a même jamais vu changement du client parce que le garçon alors le menu au début de la journée et n'avait pas regardé depuis le menu principal. Il fallait pas, parce que le chef de l'exécutif n'a pas fait des annonces de changement de menu. Le client qui devra être jeté hors du restaurant et a demandé à ne jamais revenir.

Les gens de l'équipe de compatibilité d'application seraient probablement lire ceci et s'exclamer, « Oh comment nous souhaitons cette dernière partie de l'analogie reportés dans le logiciel! » Simplement, certaines choses ne sont pas destinés à être changé ou manipulé. Parfois, il suffit de laisser les choses seul.

Raymond Chen's

Raymond Chen  Web site, The Old New Thing et livre de même titre (Addison-Wesley, 2007) traitent d'histoire de Windows, la programmation Win32 et le commerce des bonbons.

Contenus associés