Files
PulsarK-main/Pulsar.Server/Registry/RegValueHelper.cs
T
i2p 773d05f8f1
Pulsar .NET 9.0 Windows Release / build (push) Waiting to run
Mirror to Codeberg and Gitea / mirror (push) Waiting to run
initial commit
2026-08-27 10:57:58 -06:00

45 lines
1.6 KiB
C#

using Microsoft.Win32;
using Pulsar.Common.Models;
using Pulsar.Common.Utilities;
using System;
namespace Pulsar.Server.Registry
{
public class RegValueHelper
{
private static string DEFAULT_REG_VALUE = "(Default)";
public static bool IsDefaultValue(string valueName)
{
return String.IsNullOrEmpty(valueName);
}
public static string GetName(string valueName)
{
return IsDefaultValue(valueName) ? DEFAULT_REG_VALUE : valueName;
}
public static string RegistryValueToString(RegValueData value)
{
switch (value.Kind)
{
case RegistryValueKind.Binary:
return value.Data.Length > 0 ? BitConverter.ToString(value.Data).Replace("-", " ").ToLower() : "(zero-length binary value)";
case RegistryValueKind.MultiString:
return string.Join(" ", ByteConverter.ToStringArray(value.Data));
case RegistryValueKind.DWord:
var dword = ByteConverter.ToUInt32(value.Data);
return $"0x{dword:x8} ({dword})"; // show hexadecimal and decimal
case RegistryValueKind.QWord:
var qword = ByteConverter.ToUInt64(value.Data);
return $"0x{qword:x8} ({qword})"; // show hexadecimal and decimal
case RegistryValueKind.String:
case RegistryValueKind.ExpandString:
return ByteConverter.ToString(value.Data);
default:
return string.Empty;
}
}
}
}