예제 #1
0
        static public String GetMethodDescription(String methName, ISWbemObject curObj)
        {
            try
            {
                ISWbemQualifier descrQual   = null;
                ISWbemMethod    verboseMeth = null;

                if (!curObj.Path_.IsClass)
                {
                    ISWbemObject classObj = WmiHelper.GetClassObject(curObj);
                    verboseMeth = classObj.Methods_.Item(methName, 0);
                }
                else
                {
                    verboseMeth = curObj.Methods_.Item(methName, 0);
                }

                descrQual = verboseMeth.Qualifiers_.Item("Description", 0);

                return(descrQual.get_Value().ToString());
            }
            catch (Exception)
            {
                //2880: removed message here
                return("");
            }
        }
예제 #2
0
        static public String GetPropertyDescription(String propName, ISWbemObject curObj)
        {
            try
            {
                if (curObj == null)
                {
                    throw new ArgumentNullException("curObj");
                }
                ISWbemProperty verboseProp = null;

                if (!curObj.Path_.IsClass)
                {
                    ISWbemObject classObj = WmiHelper.GetClassObject(curObj);
                    verboseProp = classObj.Properties_.Item(propName, 0);
                }
                else
                {
                    verboseProp = curObj.Properties_.Item(propName, 0);
                }

                string          descr     = string.Empty;
                ISWbemQualifier descrQual = verboseProp.Qualifiers_.Item("Description", 0);

                descr = descrQual.get_Value().ToString();
                return(descr);
            }
            catch (Exception)
            {
                return("");
            }
        }
예제 #3
0
        static public String GetMethodDescription(String methName,
                                                  ManagementObject curObj,
                                                  string connectAs,
                                                  string pw)
        {
            try
            {
                Qualifier descrQual   = null;
                Method    verboseMeth = null;

                if (!curObj.Path.IsClass)
                {
                    ManagementClass classObj = WmiHelper.GetClassObject(curObj, connectAs, pw);
                    verboseMeth = classObj.Methods[methName];
                }
                else
                {
                    verboseMeth = ((ManagementClass)curObj).Methods[methName];
                }

                descrQual = verboseMeth.Qualifiers["Description"];

                return(descrQual.Value.ToString());
            }
            catch (Exception)
            {
                //2880: removed message here
                return("");
            }
        }
예제 #4
0
        static public String GetPropertyDescription(String propName,
                                                    ManagementObject curObj,
                                                    string connectAs,
                                                    string pw)
        {
            try
            {
                if (curObj == null)
                {
                    throw new ArgumentNullException("curObj");
                }
                Property verboseProp = null;

                if (!curObj.Path.IsClass)
                {
                    ManagementObject classObj = WmiHelper.GetClassObject(curObj, connectAs, pw);
                    verboseProp = classObj.Properties[propName];
                }
                else
                {
                    verboseProp = curObj.Properties[propName];
                }

                string    descr     = string.Empty;
                Qualifier descrQual = verboseProp.Qualifiers["Description"];

                descr = descrQual.Value.ToString();
                return(descr);
            }
            catch (Exception)
            {
                return("");
            }
        }
        private bool UpdateClassDescription(ClassListControls curControl)
        {
            string ns        = string.Empty;
            string className = string.Empty;

            if (curControl == ClassListControls.ClassTreeView)
            {
                if (classList.SelectedNode != null)
                {
                    ns        = classList.SelectedNode.Parent.Text;
                    className = classList.SelectedNode.Text;
                }
            }
            else                        //this is a selected class list
            {
                //see if this is a multiple selection (or nothing is selected) and clear description in this case
                if (selectedClassList.SelectedIndices.Count != 1)
                {
                    descr.Text = string.Empty;
                    return(true);
                }

                string relPath = selectedClassList.SelectedItem.ToString();
                ns        = relPath.Substring(0, relPath.IndexOf(":"));
                className = relPath.Substring(relPath.IndexOf(":") + 1);

                // MessageBox.Show(path);
            }

            ISWbemObject obj = WmiHelper.GetClassObject(machineName,
                                                        ns,
                                                        className);

            string theDescr = WmiHelper.GetClassDescription(obj);

            if (theDescr != string.Empty)
            {
                //Add special handling for newlines: change all "\n" to System.Environment.NewLine:
                int    i        = -1;
                string theRest  = theDescr;
                string theStart = string.Empty;
                while ((i = theRest.IndexOf("\n")) >= 0)
                {
                    theStart = theStart + theRest.Substring(0, i) + System.Environment.NewLine;
                    theRest  = theRest.Substring(i + 1);
                }
                theDescr = theStart + theRest;

                descr.Text = theDescr;
                return(true);
            }
            else
            {
                descr.Text = WMISys.GetString("WMISE_NoDescr");
                return(false);
            }
        }
        private void OnSelectClass(Object source, EventArgs args)
        {
            try
            {
                StringTable strs = new StringTable(50);

                SelectWMIClassTreeDialog selectClassDlg = new SelectWMIClassTreeDialog(
                    serverName,
                    ClassFilters.ExtrinsicEvents,
                    //SchemaFilters.NoSystem |SchemaFilters.NoAssoc,
                    strs);


                DialogResult ret = ((SelectWMIClassTreeDialog)selectClassDlg).ShowDialog();

                if (ret != DialogResult.OK)
                {
                    return;
                }

                String selClass = ((SelectWMIClassTreeDialog)selectClassDlg).SelectedClasses.ToArray()[0];
                eventClassBox.Text = selClass;

                if (grid != null)
                {
                    this.Controls.Remove(grid);
                    grid = null;
                }

                grid = new WMIObjectGrid(WmiHelper.GetClassObject(serverName, NS, ClassName),
                                         PropertyFilters.NoSystem,
                                         GridMode.EditMode,
                                         true, false, false);

                grid.Location             = new Point(16, 70);
                grid.Size                 = (Size) new Point(368, 180);
                grid.Anchor               = AnchorStyles.All;
                grid.PreferredColumnWidth = 90;
                grid.PreferredRowHeight   = 19;
                grid.TabIndex             = 3;
                ((DataTable)grid.DataSource).RowChanging += new DataRowChangeEventHandler(this.GridRowChanging);

                this.Controls.Add(grid);

                QueryText.Text = "SELECT * FROM " + ClassName;
            }
            catch (Exception exc)
            {
                MessageBox.Show(WMISys.GetString("WMISE_Exception", exc.Message, exc.StackTrace));
            }
        }
예제 #7
0
        public QueryConditionDialog(string serverIn,
                                    string user,
                                    string pw,
                                    string NS,
                                    string clsName,
                                    string queryIn)
        {
            try
            {
                if (serverIn == string.Empty ||
                    NS == string.Empty ||
                    clsName == string.Empty)
                {
                    throw new ArgumentException();
                }

                serverName  = serverIn;
                connectAs   = user;
                password    = pw;
                className   = clsName;
                nsName      = NS;
                queryString = queryIn;

                InitializeComponent();

                gridLabel.Location = new Point(16, 16);
                gridLabel.Text     = "Set query conditions:";
                gridLabel.Size     = new Size(250, 20);

                grid = new WMIObjectGrid(WmiHelper.GetClassObject(serverName, nsName, className, connectAs, password),
                                         new PropertyFilters(true, true),
                                         GridMode.LocalEditMode,
                                         true, false, false, true, false, true, true);

                grid.Location             = new Point(16, 40);
                grid.Size                 = (Size) new Point(468, 160);
                grid.Anchor               = AnchorStyles.Top; //.All;
                grid.PreferredColumnWidth = 90;
                grid.PreferredRowHeight   = 19;
                grid.TabIndex             = 3;
                ((DataTable)grid.DataSource).RowChanging += new DataRowChangeEventHandler(this.GridRowChanging);

                Controls.Add(grid);
            }

            catch (Exception exc)
            {
                throw (exc);
            }
        }
예제 #8
0
        //
        // METHODS
        //

        // <doc>
        // <desc>
        //     Create associator instance nodes under this grouping.
        // </desc>
        // </doc>
        public override Node[] CreateChildren()
        {
            GetRelatedOptions opts = new GetRelatedOptions(null,                     //context
                                                           TimeSpan.MaxValue,        //timeout
                                                           50,                       //block size
                                                           false,                    //rewindable
                                                           true,                     //return immediately
                                                           true,                     //use amended
                                                           true,                     //locatable
                                                           false,                    //prototype only
                                                           false,                    //direct read
                                                           theComp.targetClass,      //related class
                                                           theComp.associationClass, //RELATIONSHIP CLASS
                                                           string.Empty,             //relationship qualifier
                                                           string.Empty,             //related qualifier
                                                           theComp.targetRole,       //related role
                                                           string.Empty,             //this role
                                                           false                     //classes only
                                                           );
            ManagementObjectCollection assocInstances = theComp.sourceInst.GetRelated(opts);

            if (assocInstances == null)
            {
                return(null);
            }

            ArrayList arNodes = new ArrayList(50);

            ManagementObjectCollection.ManagementObjectEnumerator enumAssocInst = assocInstances.GetEnumerator();

            while (enumAssocInst.MoveNext())
            {
                ManagementObject curObj = (ManagementObject)enumAssocInst.Current;
                arNodes.Add(new WMIInstanceNode(curObj,
                                                WmiHelper.GetClassObject(curObj, connectAs, password),
                                                connectAs, password));
            }

            Node[] childNodes = new Node[arNodes.Count];

            arNodes.CopyTo(childNodes);

            return(childNodes);
        }
예제 #9
0
        public static String GetDisplayName(ISWbemObject obj)
        {
            try
            {
                ISWbemObject verboseObj = obj;

                if (!obj.Path_.IsClass)
                {
                    verboseObj = WmiHelper.GetClassObject(obj);
                }

                ISWbemQualifier dispName = verboseObj.Qualifiers_.Item("DisplayName", 0);
                return(dispName.get_Value().ToString());
            }
            catch (Exception)
            {
                return(String.Empty);
            }
        }
예제 #10
0
        static public String GetClassDescription(ISWbemObject obj)
        {
            try
            {
                ISWbemObject verboseObj = obj;

                if (!obj.Path_.IsClass)
                {
                    verboseObj = WmiHelper.GetClassObject(obj);
                }

                ISWbemQualifier descrQual = verboseObj.Qualifiers_.Item("Description", 0);
                return(descrQual.get_Value().ToString());
            }
            catch (Exception)
            {
                return("");
            }
        }
예제 #11
0
        public static String GetDisplayName(ManagementObject obj,
                                            string connectAs,
                                            string pw)
        {
            try
            {
                ManagementObject verboseObj = obj;

                if (!obj.Path.IsClass)
                {
                    verboseObj = WmiHelper.GetClassObject(obj, connectAs, pw);
                }

                Qualifier dispName = verboseObj.Qualifiers["DisplayName"];
                return(dispName.Value.ToString());
            }
            catch (Exception)
            {
                return(String.Empty);
            }
        }
예제 #12
0
        static public String GetClassDescription(ManagementObject obj,
                                                 string connectAs,
                                                 string pw)
        {
            try
            {
                ManagementObject verboseObj = obj;

                if (!obj.Path.IsClass)
                {
                    verboseObj = WmiHelper.GetClassObject(obj, connectAs, pw);
                }

                Qualifier descrQual = verboseObj.Qualifiers["Description"];
                return(descrQual.Value.ToString());
            }
            catch (Exception)
            {
                return("");
            }
        }