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

< Editando o Registro >


Semana passada dizíamos que HKEY_DYN_DATA na verdade não existe. Não obstante, aparece com todos os seus ramos no editor do Registro. Elucidemos, pois

HKEY_DYN_DATA é uma chave peculiar. Começando pelo fato de ser a única que não permite alterar seus valores. Se você tentar, receberá uma mensagem informando que houve "erro ao gravar o novo conteúdo do valor". Uma mensagem enganosa, pois dá a idéia de que os dados poderiam ser gravados mas não o foram devido ao erro. Mentira: os valores desta chave jamais são gravados em disco. Eles refletem o desempenho da máquina e por isso mesmo são montados "na hora" na própria memória RAM, onde permanecem

Quer ver? No editor do Registro ache o ramo HKEY_DYN_DATA\PerfStats\StatData e selecione com um clique o valor KERNEL\CPUUsage, no painel da direita, que mostra a porcentagem de utilização da CPU. Repare: é um conjunto de quatro números em hexadecimal (um sistema numérico de base 16) e o primeiro é 64 (que representa 100 em hexadecimal e informa que sua CPU está em plena carga, com 100% de utilização). Será que isto e verdade? Vejamos: acione a opção "Atualizar" do menu "Exibir" (ou tecle F5, o que dá no mesmo). Note que o valor não se altera. Repita, acionando sucessivamente F5 e repare que ele permanece em 100% (ou 64 hexa). Mas afinal quem estaria exigindo tanto de sua CPU, fazendo-a permanecer tanto tempo em plena carga? Na verdade, ninguém. O valor não está sendo atualizado apenas porque HKEY_DYN_DATA não foi instruído para fazê-lo. Experimente: no painel esquerdo, clique na chave StartStat, logo acima de StatData, para iniciar a coleta de dados. Agora, volte a clicar sobre StatData, acione repetidamente F5 e veja como o valor se atualiza a cada toque. E note que isto é feito sem nenhuma atividade do disco rígido (seu led permanece apagado). A chave HKEY_DYN_DATA existe apenas para prestar informações, não para guardar dados de configuração

Agora, vamos ao que realmente interessa: os "valores" do Registro, que contêm informações sobre a configuração do hardware ou software e que afinal são a própria razão de existir do Registro. Eles aparecem como entradas no painel direito do editor do Registro. Cada entrada contém três partes: o tipo, representado pelo ícone, o nome, exibido ao lado do ícone, e o conteúdo, ou o valor propriamente dito

Há dois tipos de valores: cadeia de caracteres, cujo ícone exibe as letras "ab" em vermelho, e binário, cujo ícone mostra os algarismos "zero" e "um" em azul. Vá até a chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion, que tenho certeza que existe em sua máquina, e procure o valor ProductName. Repare: seu conteúdo aparece entre aspas em frente ao nome, o que indica tratar-se de um valor tipo cadeia de caracteres (incidentalmente: logo acima dele há o valor ProductId, representado por quatro conjunto de números; os dois conjuntos do meio são a "chave" usada para instalar Windows 95; se você a perdeu e andava desesperado a sua procura, já sabe onde encontrála). Agora examine o valor FirstInstallDateTime, que mostra, codificadas, data e hora da instalação de seu Windows 95. Repare que o conteúdo não está entre aspas, indicando ser este um valor tipo binário (que, apesar do nome, no editor do Registro é sempre representado no sistema numérico hexadecimal, ou de base 16). Neste caso particular, o valor consiste de uma "double word" (número de dezesseis bits) como a maioria dos valores binários do Registro, que em hexadeximal aparece como quatro pares de dois algarismos. Mas há valores maiores (cuidado para não modificálos: no Registro, estes valores tipo binário podem ser qualquer coisa, inclusive código executável, cuja mudança pode trazer conseqüências desastrosas)

Agora, vejamos como usar o editor do Registro para alterar valores. Por segurança, experimentemos na nossa velha conhecida HKEY_DYN_DATA, cujos valores não podemos alterar nem querendo. Na subchave PerfStats\StatData, clique sobre o nome do valor exibido no alto do painel direito, o valor Padrão, tipo cadeia de caracteres, com conteúdo não definido

Agora acione a opção "Modificar" do menu "Editar" (ou execute um clique duplo sobre o nome do valor, o que dá no mesmo). Abre-se uma janela que contém o nome do valor, uma caixa de entrada de dados com seu conteúdo e dois botões, OK e Cancelar. Para alterar o valor, basta modificar o conteúdo, na caixa de entrada de dados, e clicar OK. Para desistir, clique em Cancelar. Experimente ambas (não se assuste com a mensagem de erro que aparece ao clicar OK; afinal, já sabemos que não podemos mudar estes valores). A forma de alterar valores binários é a mesma: opção "Modificar" do menu "Editar" ou clique duplo sobre o nome para abrir uma janela de edição semelhante à usada para as cadeias de caracteres. Experimente, para ver a diferença entre as janelas de edição. E tente também com um dos valores da chave PerfStars\StopStat, que não são double words

Pronto: já aprendemos o que é o Registro, para que serve, qual sua estrutura e como modificá-lo. Agora só falta saber onde ele é de fato armazenado, como é -montado- e, finalmente, descobrir que vantagens tudo isto pode nos trazer

PS: amanhã, 19hs, no RDC da PUC, reunião de maio do Grupo de Usuários do OS/2. Apareça: não é preciso se inscrever

B. Piropo