From 21e09cb5b1a650c2b19f9f7fe0649b9a605e2f09 Mon Sep 17 00:00:00 2001 From: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com> Date: Wed, 29 Oct 2025 10:05:58 +0100 Subject: [PATCH] Refactor devicePath initialization in BatteryGroup Ref: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/issues/1946 --- LibreHardwareMonitorLib/Hardware/Battery/BatteryGroup.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/LibreHardwareMonitorLib/Hardware/Battery/BatteryGroup.cs b/LibreHardwareMonitorLib/Hardware/Battery/BatteryGroup.cs index e96a0cd..dd7bba1 100644 --- a/LibreHardwareMonitorLib/Hardware/Battery/BatteryGroup.cs +++ b/LibreHardwareMonitorLib/Hardware/Battery/BatteryGroup.cs @@ -73,7 +73,10 @@ internal class BatteryGroup : IGroup &cbRequired, null)) { - string devicePath = pData->DevicePath.ToString(); + string devicePath; + + fixed (void* pDevicePath = &pData->DevicePath.e0) + devicePath = new string((char*)pDevicePath); SafeFileHandle battery = PInvoke.CreateFile(devicePath, (uint)FileAccess.ReadWrite, FILE_SHARE_MODE.FILE_SHARE_READ | FILE_SHARE_MODE.FILE_SHARE_WRITE, null, FILE_CREATION_DISPOSITION.OPEN_EXISTING, FILE_FLAGS_AND_ATTRIBUTES.FILE_ATTRIBUTE_NORMAL, null); if (!battery.IsInvalid)