private void Watcher_EventArrived(object sender, EventArrivedEventArgs e) { object obj = HelperFuncs.getSearchObjects(e.NewEvent, _type); WMIEventArrived(this, new WMIEventArgs { Object = obj }); }
/// <summary> /// Runs a query against WMI. It will return all instances of the class corresponding to the WMI class set on the Type on IEnumerable. /// </summary> /// <typeparam name="T">The Type of IEnumerable that will be returned</typeparam> /// <returns></returns> public IEnumerable <T> Query <T>(string searchQuery = "") { searchQuery = String.IsNullOrEmpty(searchQuery) ? HelperFuncs.BuildQuery <T>() : searchQuery; using (var searcher = new ManagementObjectSearcher(Scope, new ObjectQuery(searchQuery))) { using (var searcherData = searcher.Get()) { foreach (ManagementObject obj in searcherData) { yield return((T)HelperFuncs.getSearchObjects(obj, typeof(T))); } } } }