diff --git a/PInvoke/Security/AdvApi32/WinSvc.cs b/PInvoke/Security/AdvApi32/WinSvc.cs index be93389e..ac3fecd9 100644 --- a/PInvoke/Security/AdvApi32/WinSvc.cs +++ b/PInvoke/Security/AdvApi32/WinSvc.cs @@ -3012,7 +3012,7 @@ namespace Vanara.PInvoke var mem = new SafeHGlobalHandle((int)sz); if (!EnumDependentServices(hService, dwServiceState, (IntPtr)mem, (uint)mem.Size, out sz, out cnt)) Win32Error.ThrowLastError(); - return mem.ToEnumerable((int)cnt); + return mem.ToArray((int)cnt); } /// @@ -3128,7 +3128,7 @@ namespace Vanara.PInvoke res = EnumServicesStatus(hSCManager, dwServiceType, dwServiceState, (IntPtr)mem, sz, out sz, out var cnt, ref hRes); if (!res && (lastErr = Win32Error.GetLastError()) != Win32Error.ERROR_MORE_DATA) lastErr.ThrowIfFailed(); - foreach (var i in mem.ToEnumerable((int)cnt)) + foreach (var i in mem.ToArray((int)cnt)) yield return i; } while (!res); } @@ -3270,7 +3270,7 @@ namespace Vanara.PInvoke res = EnumServicesStatusEx(hSCManager, 0, dwServiceType, dwServiceState, (IntPtr)mem, sz, out sz, out var cnt, ref hRes, pszGroupName); if (!res && (lastErr = Win32Error.GetLastError()) != Win32Error.ERROR_MORE_DATA) lastErr.ThrowIfFailed(); - foreach (var i in mem.ToEnumerable((int)cnt)) + foreach (var i in mem.ToArray((int)cnt)) yield return i; } while (!res); } diff --git a/UnitTests/PInvoke/Security/AdvApi32/WinSvcTests.cs b/UnitTests/PInvoke/Security/AdvApi32/WinSvcTests.cs index 7fb9b7a5..83f8ab08 100644 --- a/UnitTests/PInvoke/Security/AdvApi32/WinSvcTests.cs +++ b/UnitTests/PInvoke/Security/AdvApi32/WinSvcTests.cs @@ -113,7 +113,7 @@ namespace Vanara.PInvoke.Tests [Test] public void EnumServicesStatusExTest() { - var l = EnumServicesStatusEx(hSvcMgr, ServiceTypes.SERVICE_DRIVER, SERVICE_STATE.SERVICE_ACTIVE); + var l = EnumServicesStatusEx(hSvcMgr); //, ServiceTypes.SERVICE_DRIVER, SERVICE_STATE.SERVICE_ACTIVE); TestContext.WriteLine(string.Join("; ", l.Select(i => i.lpDisplayName))); Assert.That(l, Is.Not.Empty); }