private static extern bool ChangeServiceConfigW( ServiceHandle service, ServiceType serviceType, ServiceStartType startType, ErrorSeverity errorSeverity, string binaryPath, string loadOrderGroup, IntPtr outUIntTagId, string dependencies, string serviceUserName, string servicePassword, string displayName);
private static extern bool ChangeServiceConfig2W(ServiceHandle service, ServiceConfigInfoTypeLevel infoTypeLevel, IntPtr info);
private static extern bool DeleteService(ServiceHandle service);
private static extern bool StartServiceW(ServiceHandle service, uint argc, IntPtr wargv);
bool INativeInterop.ChangeServiceConfig2W(ServiceHandle service, ServiceConfigInfoTypeLevel infoTypeLevel, IntPtr info) { return(ChangeServiceConfig2W(service, infoTypeLevel, info)); }
bool INativeInterop.DeleteService(ServiceHandle service) { return(DeleteService(service)); }
bool INativeInterop.StartServiceW(ServiceHandle service, uint argc, IntPtr wargv) { return(StartServiceW(service, argc, wargv)); }
bool INativeInterop.ChangeServiceConfigW(ServiceHandle service, ServiceType serviceType, ServiceStartType startType, ErrorSeverity errorSeverity, string binaryPath, string loadOrderGroup, IntPtr outUIntTagId, string dependencies, string serviceUserName, string servicePassword, string displayName) { return(ChangeServiceConfigW(service, serviceType, startType, errorSeverity, binaryPath, loadOrderGroup, outUIntTagId, dependencies, serviceUserName, servicePassword, displayName)); }
private static void DoUpdateService(string displayName, string description, string binaryPath, Win32ServiceCredentials credentials, bool autoStart, ErrorSeverity errorSeverity, ServiceHandle existingService) { existingService.ChangeConfig(displayName, binaryPath, ServiceType.Win32OwnProcess, autoStart ? ServiceStartType.AutoStart : ServiceStartType.StartOnDemand, errorSeverity, credentials); existingService.SetDescription(description); existingService.Start(throwIfAlreadyRunning: false); }
public virtual bool TryOpenService(string serviceName, ServiceControlAccessRights desiredControlAccess, out ServiceHandle serviceHandle, out Win32Exception errorException) { var service = NativeInterop.OpenServiceW(this, serviceName, desiredControlAccess); service.NativeInterop = NativeInterop; if (service.IsInvalid) { errorException = new Win32Exception(Marshal.GetLastWin32Error()); serviceHandle = null; return(false); } serviceHandle = service; errorException = null; return(true); }