コード例 #1
0
ファイル: DebugControl.xaml.cs プロジェクト: x360ce/x360ce
        void CleanupDevices()
        {
            DeviceInfo[] offline;
            DeviceInfo[] problem;
            DeviceInfo[] unknown;
            GetDevices(out offline, out problem, out unknown);
            var list = new List <DeviceInfo>();

            list.AddRange(offline);
            list.AddRange(problem);
            list.AddRange(unknown);
            for (int i = 0; i < list.Count; i++)
            {
                if (!IsHandleCreated)
                {
                    return;
                }
                var item = list[i];
                ControlsHelper.BeginInvoke(() =>
                {
                    LogTextBox.Text = string.Format("{0}/{1} - {2}", i + 1, list.Count, item.Description);
                });
                DeviceDetector.RemoveDevice(item.DeviceId);
            }
            ControlsHelper.BeginInvoke(() =>
            {
                LogTextBox.Text = string.Format("{0} devices removed", list.Count);
            });
        }
コード例 #2
0
        void CleanupDevices()
        {
            DeviceInfo[] offline;
            DeviceInfo[] problem;
            DeviceInfo[] unknown;
            GetDevices(out offline, out problem, out unknown);
            var list = new List <DeviceInfo>();

            list.AddRange(offline);
            list.AddRange(problem);
            list.AddRange(unknown);
            for (int i = 0; i < list.Count; i++)
            {
                if (Disposing || IsDisposed)
                {
                    return;
                }
                var item = list[i];
                BeginInvoke((MethodInvoker) delegate()
                {
                    LogTextBox.Text = string.Format("{0}/{1} - {2}", i + 1, list.Count, item.Description);
                });
                DeviceDetector.RemoveDevice(item.DeviceId);
            }
            BeginInvoke((MethodInvoker) delegate()
            {
                LogTextBox.Text = string.Format("{0} devices removed", list.Count);
            });
        }
コード例 #3
0
 /// <summary>
 /// Must remove and re-add devices for HidGuardian filters to take effect.
 /// </summary>
 static void ResetDevices(params string[] deviceIds)
 {
     foreach (var hwid in deviceIds)
     {
         DeviceDetector.RemoveDevice(hwid);
     }
     DeviceDetector.ScanForHardwareChanges();
 }