protected virtual void OnObjectReady(object sender, BrokerObjectReadyEventArgs e)
        {
            this.ResultCount++;
            this.Results.Add(e.NewObject);

            if (null != this.ObjectReady)
            {
                this.ObjectReady(sender, e);
            }
        }
 void queryWatcher_EventArrived(object sender, EventArrivedEventArgs e)
 {
     var args = new BrokerObjectReadyEventArgs(e.NewEvent, this.ResultCount + 1);
     this.OnObjectReady(this, args);
 }
 void queryObserver_ObjectReady(object sender, ObjectReadyEventArgs e)
 {
     var args = new BrokerObjectReadyEventArgs(e.NewObject, this.ResultCount + 1);
     this.OnObjectReady(this, args);
 }
        protected virtual void OnObjectReady(object sender, BrokerObjectReadyEventArgs e)
        {
            this.ResultCount++;
            this.Results.Add(e.NewObject);

            if (null != this.ObjectReady)
                this.ObjectReady(sender, e);
        }
        void queryWatcher_EventArrived(object sender, EventArrivedEventArgs e)
        {
            var args = new BrokerObjectReadyEventArgs(e.NewEvent, this.ResultCount + 1);

            this.OnObjectReady(this, args);
        }
        void queryObserver_ObjectReady(object sender, ObjectReadyEventArgs e)
        {
            var args = new BrokerObjectReadyEventArgs(e.NewObject, this.ResultCount + 1);

            this.OnObjectReady(this, args);
        }
Example #7
0
        /// <summary>
        /// Handles an ObjectReady event when a WMI object has been returned from a WMI query.
        /// </summary>
        /// <param name="sender">The System.Management.ManagementQueryBroker that returned this object.</param>
        /// <param name="e">The BrokerObjectReadyEventArgs for this event.</param>
        private void OnQueryResultReady(object sender, BrokerObjectReadyEventArgs e)
        {
            if (this.Disposing)
                return;

            if (this.InvokeRequired)
            {
                this.BeginInvoke(new BrokerObjectReadyEventHandler(this.OnQueryResultReady), sender, e);
                return;
            }

            var broker = (ManagementQueryBroker)sender;

            // Build an array of values
            var i = 0;
            var values = new String[e.NewObject.Properties.Count + 3];

            values[i++] = e.Index.ToString();
            values[i++] = null;

            if (WqlQueryType.Select == broker.QueryType)
            {
                // Get the properties from the class, not the object as the returned
                // object may be a subclass with additional properies for which no
                // columns have been configured.
                foreach (PropertyData cProp in e.NewObject.Properties)
                {
                    if (!broker.ResultClass.Properties.Contains(cProp.Name))
                        continue;

                    var oProp = e.NewObject.Properties[cProp.Name];
                    values[i++] = oProp.GetValueAsString(this.showMappedValues ? broker.ResultClassValueMaps : null);
                }
            }

            else
            {
                values[i++] = e.NewObject.GetRelativePath();
            }

            this.gridQueryResults.Rows.Add(values);
        }