/// <summary> /// Called for every GlowParameter found in the glow tree. /// </summary> /// <param name="glow">The GlowParameter to process.</param> /// <param name="path">The path of the parameter. The last number in the path /// is the parameter's number.</param> protected abstract void OnParameter(GlowParameterBase glow, int[] path);
protected override void OnParameter(GlowParameterBase glow, int[] path) { var glowValue = glow.Value; if(glowValue != null) { var item = OpenItem(path, true); if(item.IsValue) { var valueKind = item.Parent.Key.GetValueKind(item.Name); switch(valueKind) { case RegistryValueKind.DWord: item.Parent.Key.SetValue(item.Name, (int)glowValue.Integer); break; case RegistryValueKind.QWord: item.Parent.Key.SetValue(item.Name, glowValue.Integer); break; case RegistryValueKind.String: item.Parent.Key.SetValue(item.Name, glowValue.String); break; } var glowRoot = GlowRootElementCollection.CreateRoot(); CreateGlowParameter(item, path, null, GlowFieldFlags.Value, glowRoot); _client.Write(glowRoot); } CloseItem(item); } }