コード例 #1
0
ファイル: Program.cs プロジェクト: murisfurder/xs-cim
            /// <summary>
            /// Waits for async jobs returned by one of the CIM methods to complete
            /// </summary>
            private bool WaitForJobCompletion(Xen_Job_Reference_Type jobRef, string jobClassName, Type jobType)
            {
                bool   jobComplete           = false;
                string resourceURI           = string.Format("{0}/{1}", m_cim_resourceURIBase, jobClassName);//"Xen_SystemStateChangeJob");
                IWSManResourceLocator resLoc = ConvertToResourceLocator(resourceURI, jobRef);

                while (true)
                {
                    string jobinststr = m_wsmanSession.Get(resLoc, 0);
                    using (StringReader stream = new StringReader(jobinststr))
                    {
                        XmlSerializer serializer = new XmlSerializer(jobType);
                        Xen_Job_Type  job        = (Xen_Job_Type)serializer.Deserialize(stream);
                        if ((job.JobState == 7) || (job.JobState == 10)) // 7 = complete, 10 = exception
                        {
                            if (job.JobState == 7)
                            {
                                jobComplete = true;
                            }
                            break;
                        }
                    }
                }
                return(jobComplete);
            }
コード例 #2
0
ファイル: Program.cs プロジェクト: murisfurder/xs-cim
            /// <summary>
            /// Waits for async jobs returned by one of the CIM methods to complete
            /// </summary>
            private bool WaitForJobCompletion(Xen_Job_Reference_Type jobRef, string jobClassName, Type jobType)
            {
                bool jobComplete = false;
                string resourceURI = string.Format("{0}/{1}", m_cim_resourceURIBase, jobClassName);//"Xen_SystemStateChangeJob");
                IWSManResourceLocator resLoc = ConvertToResourceLocator(resourceURI, jobRef);
                while (true)
                {
                    string jobinststr = m_wsmanSession.Get(resLoc, 0);
                    using (StringReader stream = new StringReader(jobinststr))
                    {
                        XmlSerializer serializer = new XmlSerializer(jobType);
                        Xen_Job_Type job = (Xen_Job_Type)serializer.Deserialize(stream);
                        if ((job.JobState == 7) || (job.JobState == 10)) // 7 = complete, 10 = exception
                        {
                            if (job.JobState == 7)
                                jobComplete = true;
                            break;
                        }

                    }
                }
                return jobComplete;
            }