public ConcreteJob GetJob(string jobId) { try { Log.WriteStart("'{0}' GetJob", ProviderSettings.ProviderName); ConcreteJob result = VirtualizationProvider.GetJob(jobId); Log.WriteEnd("'{0}' GetJob", ProviderSettings.ProviderName); return(result); } catch (Exception ex) { Log.WriteError(String.Format("'{0}' GetJob", ProviderSettings.ProviderName), ex); throw; } }
public static void WaitForConcreteJobToEnd(ManagementPath Job) { if (string.IsNullOrEmpty(Job?.ClassName) == false) { using (var concreteJob = new ConcreteJob(Job)) { while ( concreteJob.JobState != 7 && // Completed concreteJob.JobState != 8 && // Terminated concreteJob.JobState != 9 && // Killed concreteJob.JobState != 10 && // Exception concreteJob.JobState != 32768) // CompletedWithWarnings { ((ManagementObject)concreteJob.LateBoundObject).Get(); } } } }