Alchemia Windows
Klucze, klucze, kolejne klucze...
System
Konfiguracje programów obsługi (sterowników) i usług, które mogą być
ładowane z Windows 95. Są one poukładane w grupy -- control sets.
Informacje konfigurujące inicjalizację Windows 95 znajdują się
w gałęzi CurrentControlSet. Zawiera ona dwa klucze: Control i System. Pierwszy
zawiera dane o różnych podsystemach Windows 95, drugi -- informacje związane
ze sprzętem i programami obsługi (sterownikami).
Popełnienie błędu przy edycji danych zawartych w kluczu HKLM\System może wyjątkowo łatwo
doprowadzić do niemożności ponownego uruchomienia Windows 9x.
Control
Ta obszerna gałąź grupuje takie dane, jak parametry niezbędne do
uruchomienia i zamknięcia systemu, konfigurację instalowalnego systemu plików,
rozkłady klawiatury, zainstalowane drukarki, dane dla stref czasowych etc. Ilość
umieszczanych tu kluczy nie jest stała, poniżej opisane są najczęściej spotykane:
- ComputerName. Nazwa komputera, normalnie określana poprzez moduł Sieć w Panelu sterowania.
- FileSystem. Ustawienia systemu plików. Znajdziemy tu między innymi znany "fascynatom SYSTEM.INI" parametr
VirtualHDIRQ i odpowiednik 32BitDiskAccess -- ForceRMIO (całkowicie wyłączający sterowniki 32-bitowe).
Są tu przechowywane także pozostałe ustawienia z arkusza właściwości systemu plików wywoływanego poprzez ikonę
System Panelu sterowania. Jest tu również konfiguracja programu kompresji dysku DriveSpace.
- IDConfigDB. Identyfikator bieżącego profilu sprzętowego i nadane przez użytkowników nazwy profili.
- InstalledFiles. Dane o zainstalowanych na dysku systemowym plikach systemu operacyjnego.
- Keyboard layouts. Lista bibliotek DLL dla klawiatur narodowych i specjalnych. Każdy klucz zawiera nazwę biblioteki i klawiatury.
- MediaProperties. Dane konfiguracyjne dla urządzeń multimedialnych i joysticka.
- MediaResources. Dane konfiguracyjne dla zasobów wykorzystywanych przez urządzenia multmedialne i joystick.
Znajdują się tu głównie nazwy sterowników i ich instalatorów oraz nazwy, z jakich korzysta użytkownik.
- NetworkProvider. Konfiguracje sterowników sieciowych.
- Nls. Konfiguracje ustawień regionalnych. Aby dołączyć do Windows 95
jakiekolwiek własne sterowniki i konfiguracje, należy informację o nich umieścić przede wszystkim tutaj. Stąd pobierane są informacje, że 403h
oznacza język kataloński, a informacje o stronie kodowej 1250 można znaleźć
w pliku CP_1250.NLS. Na tej podstawie tworzona jest też lista w okienku dialogowym.
- PerfStats. Opisy zmieniających się dynamicznie wartości opisujących
pracę systemu operacyjnego -- tych samych, które udostępnia Monitor systemu. Jeżeli często korzystamy z tego narzędzia, to możemy tutaj zmienić nazwy wskaźników.
- Print. Informacje o zainstalowanych drukarkach i konfiguracji podsystemu drukowania.
-- Environments. Zawiera podklucze definiujące konfigurację zainstalowanych sterowników i procesorów drukowania dla różnych środowisk.
-- Monitors. Zawiera podklucze wskazujące biblioteki DLL monitorujące drukowanie do różnych grup urządzeń. Typowe z nich to
Microsoft Fax Monitor, PJL Language Monitor i PostScript Language Monitor.
-- Ports. Zawiera podklucze odpowiadające dostępnym portom drukarek. FAX: i PUB: wykorzystywane są przez sterownik faksu.
-- Printers. Konfiguracje drukarek.
-- Providers. Opisy bibliotek DLL wykorzystywanych do drukowania w sieci.
- PwdProvider. Opisy bibliotek DLL obsługujących zabezpieczenia hasłem, czyli głównie nazwy plików i wywołań procedur. Typowe klucze to:
MSNP32, NWNP32 i SCRSAVE reprezentujące odpowiednio: Micorosft Networking, czyli sieć zapewnianą przez Windows 95, serwery Novell Netware oraz wygaszacz ekranu.
- ServiceProvider. Klucz niemal nie używany. Oprogramowanie klienta
Netware i TCP\IP dopisuje tutaj informacje o swojej obecności.
- SessionManager. Łaty (patches) dla różnych aplikacji, umożliwiające ich
pracę w środowisku Windows 95 (AppPatches), lista aplikacji, które
sprawiają problemy w Windows 95 (CheckBadApps), lista bibliotek DLL, których numery wersji powinny być sprawdzone
(CheckVerDLLs i WarnVerDLLs), lista zmian do wprowadzenia w plikach INI
(HackIniFiles) oraz lista bibliotek DLL zgodnych z Windows 95 (Known16DLLs i KonwnDLLs).
- Shutdown. Klucz wykorzystywany sporadycznie i tymczasowo, na przykład przez Instalator, który zostawia w nim informację
SetupProgramRan. Przy następnym uruchomieniu Windows wartość ta jest usuwana.
- TimeZoneInformation. Konfiguracja bieżącej strefy czasowej.
- Update. Jeżeli Windows 95 było instalowane na Windows 3.x, jest tu
przechowywana wartość 1. Jeżeli Windows 95 był zainstalowny w innym folderze lub Windows 3.x nie było wcześniej instalowane wartość ta wynosi 0.
- VMM32Files. Nazwy plików VxD (sterowników wirtualnych) dołączonych do VMM32.VXD.
- WinBoot. Klucz odczytywany w tym samym czasie, co ustawienia w pliku MSDOS.SYS. Zawiera takie parametry, jak na przykład wymagany
przez adaptery SCSI DoubleBuffer, powodujący załadowanie sterownika DBLBUFF.SYS.
Services
Ten podklucz w grupie CurrentControlSet zawiera dane o klasach
urządzeń i programach obsługi (sterownikach), które będą ładowane przy inicjalizacji systemu operacyjnego. Typowe grupy wpisów to:
- Nazwa_agenta. Zawiera podklucze dla zainstalowanych agentów
systemowych. Typowe to: sieciowy agent kopii zapasowych, SNMP, Microsoft Network Monitor.
- Arbitrators. Zawiera podklucze dla tzw. arbitratorów zasobów wykorzystywanych przez mechanizmy Plug & Play: pamięci
(AddrArb), DMA (DMAArb), I/O (IOArb) i IRQ (IRQArb). Określają one zasoby zarezerwowane.
- Class. Zawiera podklucze dla wszystkich klas i poszczególnych urządzeń obsługiwanych przez Windows 9x.
Zawierają one opisy, nazwy plików instalujących urządzenia i plików INF, sterowników oraz inne dane niezbędne
do utworzenia podstawowej konfiguracji. Modyfikując umieszczone tutaj wpisy można zmienić wykorzystywane programy obsługi.
- MSNP32, NWNP32. Zawierają podklucze dla programów obsługi sieci.
Przechowują między innymi informacje wykorzystywane do logowania i zabezpieczania hasłem oraz konfigurację.
- RemoteAccess. Konfiguracja modułu zdalnego dostępu do komputerów,
nazwy bibliotek DLL oraz lista obsługiwanych protokołów wraz z ich opisem i konfiguracją.
- VxD. Zawiera podklucze dla wszystkich sterowników wirtualnych.
Zawierają one ich dane inicjalizacyjne oraz opisy. Statyczne VxD (które nie
mogą być dynamicznie ładowane i usuwane z pamięci) mają tutaj wpis StaticVxD.
- Winsock. Konfiguracja Windows Sockets, mechanizmu wykorzystywanego do łączenia z Internetem.
HKEY_CURRENT_CONFIG — bieżąca konfiguracja sprzętowa
Miejsce przechowywania danych dla bieżącej konfiguracji sprzętowej
komputera. Są tu przechowywane jedynie informacje podstawowe, niezbędne do
uruchomienia systemu. Jak już wspomniano -- istnienie kategorii HKEY_CURRENT_CONFIG jest jedynie tymczasowe.
Zbiór danych dla wszystkich konfiguracji sprzętowych znajdziemy w gałęzi HKEY_LOCAL_MACHINE\Config.
Tam też należy dokonywać ewentualnych zmian w konfiguracjach innych niż bieżąca.
- Display. Podstawowe dane dotyczące obsługi ekranu: pliki czcionek
rastrowych, głębia koloru, rozdzielczość obrazu (określona na wiele różnych
sposobów). Parametry te można zmieniać za pomocą narzędzia Ekran z Panelu sterowania (zakładka
Ustawienia). Jest tu też zapisana informacja o tym, czy mysz ma zostawiać za sobą ślad
(MouseTrails) -- umieszczenie jej tutaj odbija się na użytkownikach tym, że mogą tej opcji używać wszyscy albo nikt.
- Enum. Dane o enumerowanych elementach systemu w strukturze analogicznej do HKLM\Enum.
- System. Ten klucz równie dobrze można opisać jako System\CurrentControlSet\Control\Print\Printers,
ponieważ dopiero ten ostatni klucz zawiera jedną informację i zróżnicowane podklucze.
Jest to wskazanie drukarki domyślnej i lista zainstalowanych sterowników drukarek.
HKEY_USERS - konfiguracje użytkowników
Kluczem, który w tej kategorii występuje zawsze jest .Default. Określa on domyślną konfigurację użytkownika. Jeżeli korzystamy z opcji
zapamiętywania różnych konfiguracji w zależności od tego, kto korzysta z komputera, czyli
tzw. profili użytkowników -- każdemu z nich odpowiada klucz w kategorii HKEY_USERS.
W momencie logowania użytkownika do systemu operacyjnego,
zawartość odpowiedniego klucza przenoszona jest do kategorii HKEY_CURRENT_USER.
W przypadku, gdy nie korzystamy z wielu profili użytkowników lub użytkownik nie posiada jeszcze własnego,
wykorzystywany jest klucz .Default. Przenoszenie "w drugą stronę" następuje w momencie wylogowania się użytkownika lub zamknięcia systemu.
Jeżeli w konfiguracji jednego z użytkowników zamierzamy wprowadzić
zmiany należy to robić we właściwej kategorii. Dla użytkownika aktualnie
zalogowanego jest to HKEY_CURRENT_USER, dla pozostałych HKEY_USERS\użytkownik. Warto zauważyć, że profil użytkownika aktualnie
zalogowanego pochodzić może z serwera sieci, czyli spoza lokalnego Rejestru.
HKEY_CURRENT_USER — bieżąca konfiguracja użytkownika
Znaczenie tej kategorii nakreślono już wcześniej -- zawiera ona to, co
dla każdego użytkownika zapamiętywane jest indywidualnie: kolory, prawa dostępu, listy ostatnio używanych plików,
niektóre informacje konfiguracyjne dla aplikacji.
Jeśli kiedykolwiek podobne parametry, jak ustawienia aplikacji czy pulpitu, zostaną zapisane
w dwóch kategoriach: HKEY_LOCAL_MACHINE i HKEY_CURRENT_USER, uznawane są dane zapisane w tej
drugiej (w pierwszej są domyślne, w drugiej -- dla konkretnego użytkownika).
W kluczach HKEY_CURRENT_USER i HKEY_USERS\użytkownik
znajdziemy następujące grupy danych:
- AppEvents. Definiuje sposób "udźwiękowienia" Windows 95.
-- W podkluczu EventLabels przechowuje nazwy zdarzeń możliwych
do udźwiękowienia w takiej formie, w jakiej przedstawiane są użytkownikowi. MailBeep jest tu rozwijany jako "Powiadomienie o nowej poczcie".
-- Podklucz Schemes zawiera informacje o tzw. schematach dźwiękowych zainstalowanych wraz z Windows 95 lub utworzonych przez
użytkownika. Schemes\Names określa ich czytelne nazwy -- .Default jest tu rozwijane jako "Domyślne dla Windows".
Schemes\Apps\aplikacja\zdarzenie\schemat to informacja najważniejsza -- jaki dźwięk usłyszymy
w momencie zajścia określonego zdarzenie przy wybranym schemacie dźwiękowym. .current oznacza schemat aktualnie obowiązujący,
który wcale nie musi mieć określonej nazwy.
Dane zapisywane w tej gałęzi należy zmieniać korzystając z narzędzia Dźwięki z Panelu sterowania.
- Control Panel. Tutaj znajdziemy podklucze o nazwach odpowiadających
ikonom w Panelu sterowania. Nie wszystkie, ale -- zgodnie z przeznaczeniem tej kategorii -- te, które definiują prywatne środowisko pracy
użytkownika. Ciekawostką, która nie jest dostępna poprzez Panel sterowania, są
szczegółowe definicje kolorystyki "trójwymiarowych" elementów ekranu.
- InstallLocationsMRU. Wyjątkowo prosty klucz przechowujący informacje o ścieżkach dostępu do ostatnio wykorzystywanych plików
instalacyjnych. Dotyczy to wyłącznie instalacji elementów wykonywanej przez Instalator Windows 9x.
- Keyboard layout. Określa wykorzystywane przez użytkownika układy
klawiatury. Stosuje przy tym liczby określone w kluczu HKLM\System\CurrentControlSet\control\keyboard layouts.
-- preload -- języki klawiatur ładowanych do pamięci, na przykład "Angielski (Amerykański)" i "Polski"
-- substitutes -- układ klawiatury, jeżeli jest inny niż domyślny dla danego języka; gdy korzystamy z układu "Polski (programisty)",
tutaj pojawi się wskaźnik do niego, gdyż domyślny jest układ maszynistki.
- Network. Prawie cała zawartość tego klucza zależy od zainstalowanej
sieci. Określa on istniejące i ostatnio wykorzystywane połączenia sieciowe.
Stałym kluczem jest Recent, w którym zapamiętywane są ostatnio wykorzystywane dyski sieciowe.
Klucz Persistent określa stałe połączenia sieciowe.
- RemoteAccess. Tutaj przechowywane są informacje wykorzystywane do zdalnego dostępu do innych komputerów.
- Software. Miejsce przeznaczone do przechowywania tych danych
konfiguracyjnych aplikacji, które powinny zmieniać się wraz z użytkownikiem
(inne dane konfiguracyjne mają analogiczne miejsce w kategorii HKEY_LOCAL_MACHINE).
Klucz ten wykorzystują oczywiście nie wszystkie aplikacje. Przechowywanie danych w Rejestrze, nie mówiąc już o podziale ich na
dwa klucze, z których jeden związany jest z komputerem, a drugi z użytkownikiem, zależy wyłącznie od woli producenta aplikacji. Zwrócić warto
uwagę na podklucz Microsoft\MS Setup (ACME)\User Info, gdzie przechowywane są imię, nazwisko i nazwa firmy użytkownika. Dane te wykorzystywane
są przez programy instalacyjne i przez aplikacje w trakcie ich codziennej pracy jako dane domyślne.
Podobnie jak w kluczu HKEY_LOCAL_MACHINE, również i w HKEY_CURRENT_USER\Software producent Windows 95 nie jest zbyt uporządkowany. Znajdziemy tu kilka tworzonych wraz z instalacją Windows 95 kluczy:
- Microsoft. Podstawowy klucz konfiguracji aplikacji firmy Microsoft.
- SCC. Klucz firmy Systems Compatibility Co. Jest to firma, od której zakupiona została technologia przeglądania plików, wcześniej wykorzystywana w programie Outside In.
- WORDPAD.INI. Konfiguracja WordPada.
HKEY_DYN_DATA - dane dynamiczne
Ostatnia kategoria Rejestru jest najbardziej specyficzna. Nigdy nie jest bowiem przechowywana na dysku twardym -- ten nośnik jest zbyt powolny dla przechowywanych w niej danych.
Jak wskazuje nazwa są to dane dynamiczne, na bieżąco aktualizowane. Są one zebrane w dwie grupy:
- Config Manager\Enum. Odbicie dostępnego użytkownikowi poprzez Panel sterowania (ikona
System) Menedżera urządzeń. Każdy z podkluczy odpowiada jednemu urządzeniu i zawiera cztery wartości:
-- Allocation -- proces (aplikacja), który kontroluje urządzenie,
-- HardwareKey -- wskazanie na związany z urządzeniem klucz gałęzi HKLM \Enum,
-- Problem -- wartość 0 lub numer błędu, jaki został zgłoszony przez urządzenie,
-- Status -- stan urządzenia.
- PerfStats. Wartości, które można przeglądać za pomocą Monitora systemu, który jest zresztą dużo wygodniejszy. Reprezentowane są one w pięciu podkluczach.
Liczba wartości może się wahać w granicach 24-39 lub nawet więcej, w zależności od zainstalowanych sieci. Trzy podstawowe grupy wskaźników to KERNEL, VMM i VFAT.
Do grupy PerfStats swoje własne dane mogą dopisywać różne VxD, również spoza systemu operacyjnego oraz innych producentów.
Wówczas w Monitorze systemu pojawią się dodatkowe opcje.