What are the different branches in the Registry ?
There are five main branches in the Registry (six in Windows 9x), each containing a specific category of information:
HKEY_CLASSES_ROOT - A symbolic link to HKEY_LOCAL_MACHINE \SOFTWARE \Classes. This branch contains file types and OLE information for all OLE-aware applications.
HKEY_CURRENT_USER - A symbolic link to the part of HKEY_USERS representing the currently logged in user's profile.
HKEY_LOCAL_MACHINE - contains information about all the installed hardware and software. Multiple hardware configurations can be stored in this branch, the current one is specified in HKEY_CURRENT_CONFIG. Also contains HKEY_CLASSES_ROOT in HKEY_LOCAL_MACHINE \SOFTWARE \Classes.
HKEY_USERS - contains preferences for each of the user profiles on the machine, such as Control Panel preferences, color settings, etc. In Windows 9x, the default branch here contains the currently logged in user. In Windows 2k3/2k/XP, the default branch here contains a template to be used for newly added users.
HKEY_CURRENT_CONFIG - Symbolic link that points to the part in HKEY_LOCAL_MACHINE that applies to the current hardware configuration (HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Control \IDConfigDB \Hardware Profiles)
HKEY_DYN_DATA (Windows 9x only) - This branch is a placeholder for performance lookups. It points to a part of HKEY_LOCAL_MACHINE, for use with Windows' Plug & Play subsystem.