diff --git a/PInvoke/Kernel32/SysInfoApi.cs b/PInvoke/Kernel32/SysInfoApi.cs index 83ebe45f..ada9254b 100644 --- a/PInvoke/Kernel32/SysInfoApi.cs +++ b/PInvoke/Kernel32/SysInfoApi.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using System.Runtime.InteropServices; using System.Text; using Vanara.Extensions; @@ -1229,7 +1230,7 @@ namespace Vanara.PInvoke (ref uint sz) => BoolToLastErr(GetLogicalProcessorInformationEx(RelationshipType, IntPtr.Zero, ref sz) || sz > 0), (IntPtr p, ref uint sz) => BoolToLastErr(GetLogicalProcessorInformationEx(RelationshipType, p, ref sz)), out info, - (p, sz) => p.ToArray((int)sz / Marshal.SizeOf(typeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX)))); + (p, sz) => p.LinkedListToIEnum(i => i.Size, sz).ToArray()); } /// diff --git a/UnitTests/PInvoke/Kernel32/SysInfoTests.cs b/UnitTests/PInvoke/Kernel32/SysInfoTests.cs index a35b9465..9c47933a 100644 --- a/UnitTests/PInvoke/Kernel32/SysInfoTests.cs +++ b/UnitTests/PInvoke/Kernel32/SysInfoTests.cs @@ -55,7 +55,7 @@ namespace Vanara.PInvoke.Tests [Test] public void GetLogicalProcessorInformationExTest() { - Assert.That(GetLogicalProcessorInformationEx(LOGICAL_PROCESSOR_RELATIONSHIP.RelationGroup, out var info), ResultIs.Successful); + Assert.That(GetLogicalProcessorInformationEx(LOGICAL_PROCESSOR_RELATIONSHIP.RelationAll, out var info), ResultIs.Successful); Assert.That(info.Length, Is.GreaterThan(0)); info.WriteValues(); }