bool INativeInterop.ChangeServiceConfigW(ServiceHandle service, ServiceType serviceType , ServiceStartType startType, ErrorSeverity errorSeverity, string binaryPath , string loadOrderGroup, System.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 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);
public virtual bool TryOpenService(string serviceName , ServiceControlAccessRights desiredControlAccess , out ServiceHandle serviceHandle , out System.ComponentModel.Win32Exception errorException) { ServiceHandle service = NativeInterop.OpenServiceW(this, serviceName, desiredControlAccess); service.NativeInterop = NativeInterop; if (service.IsInvalid) { errorException = new System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error()); serviceHandle = null; return(false); } serviceHandle = service; errorException = null; return(true); }
public ServiceHandle CreateService(string serviceName , string displayName , string binaryPath , ServiceType serviceType , ServiceStartType startupType , ErrorSeverity errorSeverity , Win32ServiceCredentials credentials) { ServiceHandle service = NativeInterop.CreateServiceW(this, serviceName, displayName, ServiceControlAccessRights.All, serviceType, startupType, errorSeverity, binaryPath, null, System.IntPtr.Zero, null, credentials.UserName, credentials.Password); service.NativeInterop = NativeInterop; if (service.IsInvalid) { throw new System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error()); } return(service); }
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)); }
private static void DoUpdateService(string displayName, string description, string binaryPath, Win32ServiceCredentials credentials, bool autoStart, ErrorSeverity errorSeverity, ServiceHandle existingService, ServiceFailureActions serviceFailureActions, bool failureActionsOnNonCrashFailures) { existingService.ChangeConfig(displayName, binaryPath, ServiceType.Win32OwnProcess, autoStart ? ServiceStartType.AutoStart : ServiceStartType.StartOnDemand, errorSeverity, credentials); existingService.SetDescription(description); if (serviceFailureActions != null) { existingService.SetFailureActions(serviceFailureActions); existingService.SetFailureActionFlag(failureActionsOnNonCrashFailures); } existingService.Start(throwIfAlreadyRunning: false); }