This is the registry library. The registry is basically a bunch of hives that can be loaded from different places. The various registry backends provide support for loading/saving specific types of hives: - ldb - w95 (USER.DAT-style files) - nt4 (NTUSER.DAT-style files) - gconf (GNOME configuration) - rpc (Remote individual hives) Instead of opening individual hives, one can also open a 'complete' registry by using one of these three functions: - reg_open_local() - load local registry, see below - reg_open_remote() - connect to remote registry over RPC - reg_open_wine() (not working yet) reg_open_local() loads a set of hives based on smb.conf settings. Lines in smb.conf should have the following syntax: registry: = : So an example usage could be: registry:HKEY_CURRENT_USER = nt4:NTUSER.DAT registry:HKEY_LOCAL_MACHINE = ldb:tdb://registry.tdb WERR_NOT_SUPPORTED will be returned for all hives that haven't been set. On Windows the various registry hives are loaded from: HKEY_CURRENT_CONFIG: %SystemRoot%\System32\Config\System HKEY_CURRENT_USER: %Profile%\NTUser.dat HKEY_LOCAL_MACHINE\SAM: %SystemRoot%\System32\Config\Sam HKEY_LOCAL_MACHINE\Security: %SystemRoot%\System32\Config\Security HKEY_LOCAL_MACHINE\Software: %SystemRoot%\System32\Config\Software HKEY_LOCAL_MACHINE\System: %SystemRoot%\System32\Config\System HKEY_USERS\.DEFAULT: %SystemRoot%\System32\Config\Default HKEY_LOCAL_MACHINE\HARDWARE: is autogenerated