static private IsWellKnownKey ( string parentKeyName, string keyname ) : bool | ||
parentKeyName | string | |
keyname | string | |
return | bool |
static bool IsWellKnownKey (string parentKeyName, string keyname)
{
// FIXME: Add more keys if needed
if (parentKeyName == Registry.CurrentUser.Name ||
parentKeyName == Registry.LocalMachine.Name)
return (0 == String.Compare ("software", keyname, true, CultureInfo.InvariantCulture));
return false;
}
public RegistryKey OpenSubKey(RegistryKey rkey, string keyname, bool writable) { KeyHandler keyHandler = KeyHandler.Lookup(rkey, true); if (keyHandler == null) { return(null); } RegistryKey registryKey = keyHandler.Probe(rkey, UnixRegistryApi.ToUnix(keyname), writable); if (registryKey == null && UnixRegistryApi.IsWellKnownKey(rkey.Name, keyname)) { registryKey = this.CreateSubKey(rkey, keyname, writable); } return(registryKey); }