protected virtual IBaseFilter CreateFilter(Guid category, string friendlyname) { object source = null; Guid iid = typeof(IBaseFilter).GUID; foreach (DsDevice device in DsDevice.GetDevicesOfCat(category)) { if (device.Name.CompareTo(friendlyname) == 0) { device.Mon.BindToObject(null, null, ref iid, out source); break; } } return (IBaseFilter)source; }