basic cleanup

This commit is contained in:
Lyssa
2025-04-02 14:06:52 +04:00
parent 07f43e2613
commit b8558d8fb2
10 changed files with 30 additions and 41 deletions

View File

@ -75,7 +75,7 @@ namespace LibTSforge.SPP
public class PKeyConfig
{
public Dictionary<Guid, ProductConfig> Products = new Dictionary<Guid, ProductConfig>();
private List<Guid> loadedPkeyConfigs = new List<Guid>();
private readonly List<Guid> loadedPkeyConfigs = new List<Guid>();
public void LoadConfig(Guid actId)
{
@ -136,12 +136,14 @@ namespace LibTSforge.SPP
ranges[refActIdStr] = new List<KeyRange>();
}
KeyRange keyRange = new KeyRange();
keyRange.Start = int.Parse(rangeNode.SelectSingleNode("./p:Start", nsmgr).InnerText);
keyRange.End = int.Parse(rangeNode.SelectSingleNode("./p:End", nsmgr).InnerText);
keyRange.EulaType = rangeNode.SelectSingleNode("./p:EulaType", nsmgr).InnerText;
keyRange.PartNumber = rangeNode.SelectSingleNode("./p:PartNumber", nsmgr).InnerText;
keyRange.Valid = rangeNode.SelectSingleNode("./p:IsValid", nsmgr).InnerText.ToLower() == "true";
KeyRange keyRange = new KeyRange
{
Start = int.Parse(rangeNode.SelectSingleNode("./p:Start", nsmgr).InnerText),
End = int.Parse(rangeNode.SelectSingleNode("./p:End", nsmgr).InnerText),
EulaType = rangeNode.SelectSingleNode("./p:EulaType", nsmgr).InnerText,
PartNumber = rangeNode.SelectSingleNode("./p:PartNumber", nsmgr).InnerText,
Valid = rangeNode.SelectSingleNode("./p:IsValid", nsmgr).InnerText.ToLower() == "true"
};
ranges[refActIdStr].Add(keyRange);
}
@ -155,15 +157,17 @@ namespace LibTSforge.SPP
if (keyRanges.Count > 0 && !Products.ContainsKey(refActId))
{
ProductConfig productConfig = new ProductConfig();
productConfig.GroupId = group;
productConfig.Edition = configNode.SelectSingleNode("./p:EditionId", nsmgr).InnerText;
productConfig.Description = configNode.SelectSingleNode("./p:ProductDescription", nsmgr).InnerText;
productConfig.Channel = configNode.SelectSingleNode("./p:ProductKeyType", nsmgr).InnerText;
productConfig.Randomized = configNode.SelectSingleNode("./p:ProductKeyType", nsmgr).InnerText.ToLower() == "true";
productConfig.Algorithm = algorithms[group];
productConfig.Ranges = keyRanges;
productConfig.ActivationId = refActId;
ProductConfig productConfig = new ProductConfig
{
GroupId = group,
Edition = configNode.SelectSingleNode("./p:EditionId", nsmgr).InnerText,
Description = configNode.SelectSingleNode("./p:ProductDescription", nsmgr).InnerText,
Channel = configNode.SelectSingleNode("./p:ProductKeyType", nsmgr).InnerText,
Randomized = configNode.SelectSingleNode("./p:ProductKeyType", nsmgr).InnerText.ToLower() == "true",
Algorithm = algorithms[group],
Ranges = keyRanges,
ActivationId = refActId
};
Products[refActId] = productConfig;
}

View File

@ -2,10 +2,7 @@ namespace LibTSforge.SPP
{
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
public class SPSys
{
@ -24,7 +21,7 @@ namespace LibTSforge.SPP
{
SafeFileHandle file = CreateFileSafe(@"\\.\SpDevice");
IntPtr buffer = Marshal.AllocHGlobal(1);
int bytesReturned = 0;
int bytesReturned;
DeviceIoControl(file, 0x80006008, IntPtr.Zero, 0, buffer, 1, out bytesReturned, IntPtr.Zero);
bool running = Marshal.ReadByte(buffer) != 0;
Marshal.FreeHGlobal(buffer);
@ -36,7 +33,7 @@ namespace LibTSforge.SPP
{
SafeFileHandle file = CreateFileSafe(@"\\.\SpDevice");
IntPtr buffer = Marshal.AllocHGlobal(4);
int bytesReturned = 0;
int bytesReturned;
DeviceIoControl(file, start ? 0x8000a000 : 0x8000a004, IntPtr.Zero, 0, buffer, 4, out bytesReturned, IntPtr.Zero);
int result = Marshal.ReadInt32(buffer);
Marshal.FreeHGlobal(buffer);