Пример #1
0
        private ManagementBaseObject[] ApplyFilter(object allObjectsToFilter, WmiInvokeMethodFilter filterItem)
        {
            IList <ManagementBaseObject> filterResult = new List <ManagementBaseObject>();

            foreach (var obj in (IEnumerable <ManagementBaseObject>)allObjectsToFilter)
            {
                string parentPropertyName = string.Empty;
                for (int i = 0; i < filterItem.FilterParentObjectNames.Count; i++)
                {
                    parentPropertyName = filterItem.FilterParentObjectNames[i];
                    if (i == filterItem.FilterParentObjectNames.Count - 1)
                    {
                        ManagementBaseObject systemParentObj = (ManagementBaseObject)obj.Properties[parentPropertyName].Value;
                        if (this.IsSystemObjectMatch(systemParentObj, filterItem.FilterPropertyName, filterItem.FilterPropertyValue))
                        {
                            filterResult.Add(obj);
                        }
                    }
                }
            }

            return(filterResult.ToArray());
        }
Пример #2
0
        private ManagementBaseObject[] ApplyFilter(object allObjectsToFilter, WmiInvokeMethodFilter filterItem)
        {
            IList<ManagementBaseObject> filterResult = new List<ManagementBaseObject>();
            foreach (var obj in (IEnumerable<ManagementBaseObject>)allObjectsToFilter)
            {
                string parentPropertyName = string.Empty;
                for (int i = 0; i < filterItem.FilterParentObjectNames.Count; i++)
                {
                    parentPropertyName = filterItem.FilterParentObjectNames[i];
                    if (i == filterItem.FilterParentObjectNames.Count - 1)
                    {
                        ManagementBaseObject systemParentObj = (ManagementBaseObject)obj.Properties[parentPropertyName].Value;
                        if (this.IsSystemObjectMatch(systemParentObj, filterItem.FilterPropertyName, filterItem.FilterPropertyValue))
                            filterResult.Add(obj);
                    }
                }
            }

            return filterResult.ToArray();
        }