2005-08-18 11:00:37 +04:00
This is the registry library. The registry is basically a bunch of
2007-08-26 19:16:40 +04:00
hives, each of which is loaded from a file. When using a local registry,
it is possible to specify where hives should be loaded from, etc.
2005-08-18 11:00:37 +04:00
2007-08-26 19:16:40 +04:00
There are separate APIs for accessing the data in a hive and the
data in the registry itself. Each supports different backends.
The following "full registry" backends are currently provided:
* Remote (over DCE/RPC)
* Local (allows "mounting" hives)
* Wine (uses the wine plain-text file)
The following hive backends are supported:
2004-12-10 23:07:04 +03:00
- ldb
2007-08-26 19:16:40 +04:00
- regf (NTUSER.DAT-style files)
2004-12-10 23:07:04 +03:00
- rpc (Remote individual hives)
2007-08-26 19:16:40 +04:00
- directory
2004-12-10 23:07:04 +03:00
2007-08-26 19:16:40 +04:00
reg_open_samba() loads a set of hives based on smb.conf settings.
2004-12-10 23:07:04 +03:00
Lines in smb.conf should have the following syntax:
registry:<hivename> = <backend>:<location>
So an example usage could be:
2007-08-26 19:16:40 +04:00
registry:HKEY_CURRENT_USER = regf:NTUSER.DAT
2004-12-10 23:07:04 +03:00
registry:HKEY_LOCAL_MACHINE = ldb:tdb://registry.tdb
WERR_NOT_SUPPORTED will be returned for all hives that haven't been set.
2004-12-11 23:06:40 +03:00
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