Microsoft.Win32.KeyHandler.Probe C# (CSharp) Méthode

Probe() public méthode

public Probe ( RegistryKey rkey, string extra, bool writable ) : RegistryKey
rkey RegistryKey
extra string
writable bool
Résultat RegistryKey
		public RegistryKey Probe (RegistryKey rkey, string extra, bool writable)
		{
			RegistryKey rk = null;

			lock (typeof (KeyHandler)){
				string f = Path.Combine (Dir, extra);
				KeyHandler kh = (KeyHandler) dir_to_handler [f];
				if (kh != null) {
					rk = new RegistryKey (kh, CombineName (rkey,
						extra), writable);
					key_to_handler [rk] = kh;
				} else if (Directory.Exists (f) || VolatileKeyExists (f)) {
					kh = new KeyHandler (rkey, f);
					rk = new RegistryKey (kh, CombineName (rkey, extra),
						writable);
					dir_to_handler [f] = kh;
					key_to_handler [rk] = kh;
				}
				return rk;
			}
		}

Usage Example

        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);
        }
All Usage Examples Of Microsoft.Win32.KeyHandler::Probe