Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
05/05/1997

< A Estrutura do Registro >


O Registro adota uma estrutura em árvore hierárquica. Se isto lhe pareceu demasiado complicado, relaxe: quer dizer apenas que o Registro tem subdivisões que por sua vez têm outras subdivisões que também podem se subdividir, desdobrando-se em níveis (ou hierarquias), como a organização de uma grande empresa em departamentos, superintendências, serviços, etc. Ou a estrutura da árvore de diretórios de seu HD.

As divisões e subdivisões do Registro denominam-se "chaves". Uma chave pode conter uma ou mais chaves ou um ou mais valores. Complicou? Pois tenha um pouco de paciência que logo ficará mais claro (principalmente se você usar o editor do Registro para acompanhar o restante desta coluna).

No nível mais alto há seis chaves: HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA, HKEY_CURRENT_ USER e HKEY_CLASSES_ROOT (a letra "H" precede os nomes das chaves porque cada uma delas é um "handle", ou manipulador usado para acessar certos recursos). Uma estrutura mais simples do que parece à primeira vista, posto que, como logo veremos, apenas duas chaves funcionam realmente como repositório de informações (das outras, três são cópias de ramos das primeiras e a remanescente é "montada" dinamicamente).

Para entender o Registro há que levar em conta que Windows 95 foi concebido para ser usado em uma configuração que prevê diversas máquinas ligadas em rede, onde cada máquina pode ser utilizada por diferentes usuários, bastando fornecer o nome e a senha (ou seja, fazer o "logon") durante a inicialização. Daí surgiu a necessidade de separar os dados da máquina (que pode assumir diferentes configurações, dependendo do usuário que tiver feito o logon) dos dados dos possíveis usuários.

A chave HKEY_LOCAL_MACHINE contém tudo o que diz respeito à máquina "local" (contrapondo-se às demais máquinas da rede, que são máquinas "remotas") tanto no que toca à hardware quanto a software. Ela é consultada pelos gerenciadores de dispositivos, pelos aplicativos e pelo próprio Windows 95 para determinar dados de configuração relativos à máquina e independentes do usuário que tiver feito o logon. É alterada automaticamente pelas funções que administram o sistema "plug and play" sempre que se adiciona ou remove um dispositivo, pelos programas de instalação dos aplicativos quando eles são instalados e pelos usuários, usando seja "Adicionar novo hardware", seja um dos outros objetos do Painel de Controle.

Um dos ramos de HKEY_LOCAL_MACHINE é a chave "Config", que na maioria das vezes tem um único ramo, a subchave "0001" com os dados referentes ao hardware efetivamente instalado na máquina. Pois a chave HKEY_CURRENT_CONFIG é uma réplica exata desta subchave (verifique: use o editor do Registro para comparar HKEY_CURRENT_CONFIG com HKEY_LOCAL_MACHINE\Config\0001).

A chave HKEY_LOCAL_MACHINE armazena ainda no ramo "SOFTWARE\classes" todos os dados referentes ao software instalado na máquina (como associações entre programas e arquivos, ações executadas pelos programas, informações sobre OLE, etc.). Pois a chave HKEY_CLASSES_ROOT é uma cópia exata deste ramo. Até aqui, portanto, há apenas uma chave "de verdade", HKEY_LOCAL_MACHINE com dados referentes á máquina. E além desta, há apenas mais uma, que armazena os dados sobre todos os usuários (ou sobre o único usuário, em máquinas com apenas um usuário definido), incluindo preferências pessoais que vão desde cores, cursores e fundos até configurações de teclado e idioma. É a chave HKEY_USERS, que tem diversos ramos (em princípio, entre outros, pelo menos um para cada usuário definido para a máquina). E há apenas mais ela porque a chave HKEY_CURRENT_ USER replica integralmente um de seus ramos, o que contém os dados referentes ao usuário que efetuou o logon (ou do único usuário, caso apenas um tenha sido definido). E é só.

Como? Falta a chave HKEY_DYN_DATA? Ah, mas ela não existe. Apenas parece que existe, como um jogo de espelhos, mas é ilusão. Veja porque semana que vem.

PS: Já citei aqui casos onde a informatização atrapalhou ao invés de ajudar. Para que vocês não pensem que sou contra ela, cito dois exemplos onde ajudou. Um é o DETRAN do Rio de Janeiro. Por razões que não vêm ao caso, fui obrigado muito a contragosto a emplacar eu mesmo meu carro. Tudo resolvido em menos de meia hora, com conforto e tratamento cordial. Tomei um susto: deu até para sonhar que estava no primeiro mundo (pelo menos até perceber que me encontrava mesmo era na Presidente Vargas). O outro é o programa do imposto de renda. Não está perfeito, mas deu um imenso salto qualitativo em relação aos anteriores. Este ano, veio tipo coisa de profissional. Na minha opinião, a turma da receita está de parabéns. É verdade que vi gente reclamando. Dou-lhes razão: afinal, receberam de graça um excelente programa mas se queixam por encontrar aqui e ali um bug de menor importância. Quem procede assim, faz bem em não usá-lo: merece fazer a declaração na base da táboa de logaritmos e régua de cálculos. E, sendo Deus justo, errar nas contas.

B. Piropo