private static extern bool SetServiceStatus(IntPtr handle, ref ServiceStatus serviceStatus);
protected void OnStart() { // Update sigConfigServerService status to Start Pending. ServiceStatus serviceStatus = new ServiceStatus(); serviceStatus.dwCurrentState = ServiceState.SERVICE_START_PENDING; serviceStatus.dwWaitHint = 100000; SetServiceStatus(this.ServiceHandle, ref serviceStatus); // Update sigconfigServerService status to running. serviceStatus.dwCurrentState = ServiceState.SERVICE_RUNNING; SetServiceStatus(this.ServiceHandle, ref serviceStatus); // Log that the service has begun. sigConfigServerServiceLog.WriteEntry("Started sigConfig server."); // TODO: Check file status on service start and perform the first iteration of updates if so. SendMessage("Testing, testing!"); }
protected override void OnStop() { // Set service status to pending stop ServiceStatus serviceStatus = new ServiceStatus(); serviceStatus.dwCurrentState = ServiceState.SERVICE_STOP_PENDING; serviceStatus.dwWaitHint = 100000; SetServiceStatus(this.ServiceHandle, ref serviceStatus); // Set service status to stopped. serviceStatus.dwCurrentState = ServiceState.SERVICE_STOPPED; SetServiceStatus(this.ServiceHandle, ref serviceStatus); sigConfigServerServiceLog.WriteEntry("Stopped sigConfig server."); }