diff options
Diffstat (limited to 'embeddable-dll-service/csharp/TunnelDll/Service.cs')
-rw-r--r-- | embeddable-dll-service/csharp/TunnelDll/Service.cs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/embeddable-dll-service/csharp/TunnelDll/Service.cs b/embeddable-dll-service/csharp/TunnelDll/Service.cs index 7f2c622e..74e1a888 100644 --- a/embeddable-dll-service/csharp/TunnelDll/Service.cs +++ b/embeddable-dll-service/csharp/TunnelDll/Service.cs @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: MIT * - * Copyright (C) 2019-2021 WireGuard LLC. All Rights Reserved. + * Copyright (C) 2019-2022 WireGuard LLC. All Rights Reserved. */ using System; @@ -21,10 +21,9 @@ namespace Tunnel [DllImport("tunnel.dll", EntryPoint = "WireGuardTunnelService", CallingConvention = CallingConvention.Cdecl)] public static extern bool Run([MarshalAs(UnmanagedType.LPWStr)] string configFile); - public static NamedPipeClientStream GetPipe(string configFile) + public static Driver.Adapter GetAdapter(string configFile) { - var pipepath = "ProtectedPrefix\\Administrators\\WireGuard\\" + Path.GetFileNameWithoutExtension(configFile); - return new NamedPipeClientStream(pipepath); + return new Driver.Adapter(Path.GetFileNameWithoutExtension(configFile)); } public static void Add(string configFile, bool ephemeral) @@ -46,7 +45,7 @@ namespace Tunnel Win32.CloseServiceHandle(service); Remove(configFile, true); } - service = Win32.CreateService(scm, shortName, longName, Win32.ServiceAccessRights.AllAccess, Win32.ServiceType.Win32OwnProcess, Win32.ServiceStartType.Demand, Win32.ServiceError.Normal, pathAndArgs, null, IntPtr.Zero, "Nsi\0TcpIp", null, null); + service = Win32.CreateService(scm, shortName, longName, Win32.ServiceAccessRights.AllAccess, Win32.ServiceType.Win32OwnProcess, Win32.ServiceStartType.Demand, Win32.ServiceError.Normal, pathAndArgs, null, IntPtr.Zero, "Nsi\0TcpIp\0", null, null); if (service == IntPtr.Zero) throw new Win32Exception(Marshal.GetLastWin32Error()); try @@ -88,10 +87,7 @@ namespace Tunnel { var service = Win32.OpenService(scm, shortName, Win32.ServiceAccessRights.AllAccess); if (service == IntPtr.Zero) - { - Win32.CloseServiceHandle(service); return; - } try { var serviceStatus = new Win32.ServiceStatus(); |