EL REGISTRO DE WINDOWS 95 / 98
---------------------------------------------------El registro, presenta de forma jerarquizada toda la información que Windows y el resto de las aplicaciones escriben en él.
Sustituye a los antiguos ficheros INI en los que cada aplicación escribía por separado.
El registro principal (visible con "regedit"), consta de 6 claves principales. Cada clave puede contener datos, llamados "valores" y a su vez puede contener subclaves adicionales. Su visión se asemeja a la visión de un disco desde el explorador, con ficheros (valores) y carpetas (subclaves), que a su vez pueden contener más ficheros y más carpetas.
Claves generales:
------------------------
HKEY_LOCAL_MACHINE: Información de los componentes hardware instalados. Configuración del software de la máquina. Esta clave es "común" para todos los usuarios de la máquina.
HKEY_CURRENT_CONFIG: Apunta a una rama de HKEY_LOCAL_MACHINE\CONFIG que contiene información sobre la configuración "actual" del hardware.
HKEY_DYN_DATA: Apunta a una rama de HKEY_LOCAL_MACHINE que contiene la información dinámica del estado de los dispositivos, así como toda la parte de PnP. Esta información es cambiante según se añaden o quitan dispositivos al sistema. Además incluye información sobre el estado actual de los dispositivos, así como de los posibles problemas.
HKEY_CLASSES_ROOT: Apunta a la rama de HKEY_LOCAL_MACHINE que contiene ciertas configuraciones de software. Esta clave muestra los mismos datos que estaban en Windows 3.1 -información del OLE y asignación de operaciones de arrastrar y soltar, y ciertas abreviaturas que de hecho son vínculos OLE. Igualmente contiene la descripción del interfaz de usuario.
HKEY_USERS: Contiene la información de TODOS los usuarios que se han conectado a la máquina. Incluye tanto la información genérica (.DEFAULT) como la específica de cada usuario. La configuración general está disponible para todos los usuarios. Esta clave, contiene subclaves con el nombre de cada usuario y su perfil que se ha conectado a la máquina.
HKEY_CURRENT_USER: Esta clave apunta a la rama HKEY_USERS para el usuario que está en ese momento conectado.
*******Vamos a empezar a describir, las ramas más importantes de cada una de ellas:
HKEY_LOCAL_MACHINE
======================
CONFIG : contiene la información de las distintas configuraciones hardware de la máquina. Puede tener las configuración que tiene el PC, cuando está conectado a una red, cuando no lo está, cuando quitamos una tarjeta,....etc. Cada configuración posible tiene asignado un identificador único Este identificador de la configuración tiene una subclave bajo la clave "config". Cada configuración, aparece en la lista de "perfiles" de hardware en la opción Sistema del Panel de Control.
En la mayoría de las situaciones, el identificador de configuración está asignado a una configuración única. Normalmente casi nadie tiene varios "perfiles" de hardware definidos y arranca con uno u otro. Lo normal para los usuarios domésticos como nosotros es una única configuración. Pero no debe perderse de vista que es posible una configuración "multiperfil" y que Windows es capaz en la arrancada de solicitarnos qué perfil de hardware queremos.
ENUM : Los "enumeradores" de bus de Windows son los que aquí construyen el arbol del hardware. Se asigna un código único de identificación para cada dispositivo.
Las subclaves contienen información sobre el tipo de dispositivo, la letra asignada a la unidad, por ejemplo. El fabricante y además la información de los controladores de los componente de la RED.
Típicamente, dentro de esta clave se enumeran:
ESDI : Dispositivos de disco Fijo
FLOP : Dispositivo de disco flexible.
ISAPNP : Dispositivo PnP ISA
MONITOR : Monitores
NETWORK : Protocolos, servicios y vínculos de red.
ROOT : Dispositivos legados (no PnP)
Evidentemente si miramos en nuestra clave de registro, nos encontraremos con otras subclaves que contienen al menos las anteriores, más las características genéricas de nuestra máquina. Pensar que los equipos actuales con ACPI, y las funcionalidades que hoy día están presentes, también las encontraremos en la descripción del hardware como subclave.
SOFTWARE : Contiene la información de configuración sobre el software instalado. Estas entradas se aplican a "cualquier" usuario conectado a esta máquina. Contiene las definiciones para asociación de archivos e información OLE.
Esta rama, contiene varias subclaves, incluyendo la subclave "Classes", además de las subclave "description" para todo el software.
Subclaves principales:
CLASSES: Describen todo tipo de documentos y dan información sobre OLE y asociaciones de extensiones a archivos que pueden utilizar aplicaciones. HKEY_CLASSES_ROOT no es nada más que una "alias" de esta subclase. Aquí estan contenidas dos tipos de subclaves.
* Subclases extensiones de archivos, que especifican la definición de clase asociada con el archivo que tiene la extensión seleccionada.
* Claves de definición de clase, en donde se especifican las propiedades OLE y de la interfaz de ordenes de una clase de documento. Si una aplicación permite DDE (intercambio dinámico de datos), la subclase "Shell" puede contener subclaves "Open" y "Print" que definen las ordenes DDE.
DESCRIPTION: Esta subclave contiene los nombres y números de versión del software instalado. La información específica de usuario sobre la configuración se almacena en el camino lógico relativo bajo HKEY_CURRENT_USER.
La información en cada subclave la añade cada nueva aplicación al instalarse.
Durante la instalación, las aplicaciones graban con el siguiente formato:
HKEY_LOCAL_MACHIME\SOFTWARE\Nombre_de_compañía\Producto\Versión
Evidentemente, el propio Microsoft, graba aquí una clave llamada:
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT
y dentro de ella una subclave llamada WINDOWS\CurrentVersion la cual es importantísima ya que es el "núcleo" de Windows.
La subclave SETUP que cuelga de la anterior, es usada internamente por Windows durante su arranque.
SYSTEM : Contiene los parámetros completos para los controladores de dispositivos y servicios que son cargados en Windows. Todos los datos que controlan el arranque de Windows están aquí. Este conjunto tiene a su vez dos partes:
CONTROL
SERVICES
------------------------------------
Debemos tener presente que estas son importantísimas y que aquí está muchas veces la causa de problemas en el arranque de Windows. Es necesario saber mirar "con lupa" estas claves.
-------------------------------------------------------
Bien, en el primer artículo, terminábamos introduciendo la rama:
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
CONTROL
SERVICES
Vamos a ver un poco mas con detalle estas últimas ramas.
CONTROL: Contiene parámetros de arranque del sistema, incluyendo las configuraciones de arranque y apagado, rendimientos, esquemas de teclado, idiomas, etc.... Subclaves típicas dentro de él son:
ComputerName: Nombre del PC
FileSystem: Tipo y configuracion sistema de archivos
IDConfigDB: Identificacion de la configuracion actual
Keyboard layouts: Lista de DLLs para el idioma del teclado
Media Resources: Información de los componente multimedia
Network Provider: Descripción de los proveedores de RED
NLs : Información sobre los lenguajes nacionales permitidos
PerfStats: Estadísticas que se ven en "monitor del sistema"
Print: Impresoras actuales y sus entornos de impresión
Session Manager: Variables globales y lista de programas problemáticos.
TimeZonInformation: Configuración de la Zona Horaria
Update: Tipo de instalación
VMM32: Los nombres de las VXD que se han combinado para genera el controlador de dispositivos virtuales VMM32.VXD (esto depende de cada máquina, y se "combina" o genera al instalar Windows).
SERVICES: Presenta la lista de controladores del Núcleo, controladores de sistemas de archivos y controladores de los servicios que pueden ser cargados al iniciar Windows. Subclaves típicas dentro de él, son:
Agent_name: Subclaves para cada agente del sistema instalado (Monitor de Red, SNMP, etc....)
Arbitrators: Árbitros para administrar recursos entre dispositivos competidores (árbitros de direcciones, DMA, E/S e IRQ)
Class: Definidas aquí "todas" las clases de dispositivos que permite el sistema operativo (discos, monitores, ratones....)
MSNP32,MWNP32: Subclaves para la RED en modo protegido de 32 bit, incluye información sobre el acceso y los proveedores de seguridad.
VxD: Controladores virtuales (VxD) que se cargan en el inicio de Windows. Independientemente de estos se carga SIEMPRE todas las VxD que se encuentran presentes en el directorio IOSUBSYS.
============================================================
Con esto se finaliza la clave HKEY_LOCAL_MACHINE.
**** Es importantísimo volver a resaltar que las claves:
HKEY_CURRENT_CONFIG
HKEY_CLASSES_ROOT
HKEY_DYN_DATA
que nos muestra el programa regedit, no son mas que "alias" de otras subclaves del mismo nombre de HKEY_LOCAL_MACHINE, por lo que modificando cualquiera de ellas, (el alias o la original), se modifican ambas.
Esto muchas veces es causa de confusión, ya que vemos información que aparentemente está duplicada.
================================================================
La otra (única) clave real ademas de HKEY_LOCAL_MACHINE, es HKEY_USERS ya que realmente la clave HKEY_CURRENT_USER es un alias que apunta en ese momento al usuario actual que está contenido en HKEY_USERS.
HKEY_USERS contiene la subclave .Default además de todos los perfiles de usuario previamente cargados por los usuarios que han accedido. La información de .Default, se usa para crear un perfil de usuario que ha accedido sin perfil de usuario personal.
La subclave .Default contiene claves para AppEvents, Panel de Control, teclados, red, y software......etc.
================================================================
Esta es la estructura de la base de registro. Evidentemente está accesible tanto a Windows como al resto de programas. El problema surge cuando algún programa no es "respetuoso" y empieza a machacar claves de otros.
Hay que recordar que el registro es la base del funcionamiento de Windows. Sin el registro Windows es incapaz de funcionar y con el registro dañado, nos podremos encontrar cualquier cosa. Por ello, aconsejo no utilizar NINGUNA utilidad para mantener el registro. Únicamente debemos utilizar la potencia que nos da "scanreg" para recuperar en caso de problemas.
Y nada más... por ahora.... ya que el "resto", cada clave en particular, depende del programa que lo ha instalado. Y si ha sido el propio Windows ¡¡ CUIDADO !!, ya que en este caso, puede depender de la version de la DLL responsable de esa clave. Por ello, hay que tener cuidado al dar soluciones. Lo que es solución para una persona ante un determinado problema, puede no serlo para otra, ya que por ejemplo puede tener una versión superior de los componentes. (por ejemplo: problemas con ODBC. Una modificacion para el ODBC estándar que viene con w98, puede funcionar correcto a un usuario, y puede destrozar, la misma clave, a otro que ha instalado por ejemplo VisualStudio, ya que este último componente, reinstala completamente otra capa ODBC).
Un saludo,
--
Jose Manuel Tella Llop
jmtella@compuserve.com
10 - abril - 2001