/// <summary> /// Stops capturing images for the given render job. /// </summary> /// <param name="cancelRequest">The message containing the canceled render job's GUID.</param> private void HandleCancelRequest(RCS_Render_Job_Cancel cancelRequest) { ScreenCapture capturer = null; lock (this.runningRenderJobs) { if (!this.runningRenderJobs.ContainsKey(cancelRequest.ConcernedRenderJobID)) { return; } capturer = this.runningRenderJobs[cancelRequest.ConcernedRenderJobID]; } capturer.StopCapture(); lock (this.runningRenderJobs) { this.runningRenderJobs.Remove(cancelRequest.ConcernedRenderJobID); } }
public void CancelRenderJob() { this.Working = false; RCS_Render_Job_Cancel cancelRequest = new RCS_Render_Job_Cancel(CancelRenderJobReason.Manually, Configuration.RenderJobID, RemoteType.Client); this.socketHandler.SendMessage(MessageCode.MC_Render_Job_Cancel, Remote_Content_Show_MessageGenerator.GetMessageAsByte(cancelRequest)); this.socketHandler.Close(); this.socketHandler.OnMessageBytesReceived -= this.SocketHandler_OnMessageBytesReceived; this.socketHandler.OnConnectionLost -= this.SocketHandler_OnConnectionLost; }