Exemple #1
0
        private void refreshDeviceSelectionView()
        {
            DEIFlags flags = DEIFlags.DICFG_AllClasses;

            bool driverLessOnly = deviceSelection_DriverlessOnlyCheckBox.Checked;
            bool connnectedOnly = deviceSelection_ConnectedOnlyCheckBox.Checked;

            if (connnectedOnly)
            {
                flags = flags | DEIFlags.DICFG_Present;
            }

            if (driverLessOnly)
            {
                flags |= DEIFlags.Driverless;
            }

#if DEBUG
            flags |= DEIFlags.IncludeWindowsServices;
#endif
            cmdRemoveDevice.Enabled = false;
            gridDeviceSelection.Rows.Clear();

            if (deviceSelection_CreateNewRadio.Checked)
            {
                mCurrentDeviceItem  = new DeviceItem();
                wizMain.NextEnabled = true;
                deviceSelection_RefreshButton.Enabled = false;
                return;
            }
            deviceSelection_RefreshButton.Enabled = true;

            DeviceEnumeratorInfo deInfo = new DeviceEnumeratorInfo(flags, Handle);
            mDeviceList = deInfo.DeviceList;
            DeviceSelectionHelper.EnumerateDevices(deInfo);

            foreach (DeviceItem deviceItem in mDeviceList)
            {
                int iRow =
                    gridDeviceSelection.Rows.Add(new object[]
                {
                    "0x" + deviceItem.VendorID, "0x" + deviceItem.ProductID, deviceItem.DeviceDescription,
                    deviceItem.Manufacturer, deviceItem.mDriverless, deviceItem.mDeviceId
                });
                gridDeviceSelection.Rows[iRow].Tag = deviceItem;
                deviceItem.ResetDirty();
            }

            wizMain.NextEnabled = (gridDeviceSelection.Rows.Count > 0);
            if (wizMain.NextEnabled && mCurrentDeviceItem == null)
            {
                mCurrentDeviceItem = (DeviceItem)gridDeviceSelection.SelectedRows[0].Tag;
            }
        }
        public static bool RemoveDevice(RemoveDeviceForm.RemoveDeviceOptions removeDeviceOptions,
                                        IntPtr hWnwd,
                                        DEIFlags flags)
        {
            DeviceRemoveInfo deInfo = new DeviceRemoveInfo(removeDeviceOptions, flags, hWnwd);

            EnumerateDevices(deInfo);

            if (deInfo.Removed > 0)
            {
                Wdi.UpdateDriver(removeDeviceOptions.DeviceItem.BuildInfHardwareID());
            }

            return(deInfo.Removed > 0);
        }
Exemple #3
0
        private void Remove()
        {
            DEIFlags flags = DEIFlags.DICFG_AllClasses | DEIFlags.IncludeWindowsServices;

            Cursor = Cursors.WaitCursor;

            rtfRemoveDeviceStatus.StatusFilter = RemoveStatusFilter;
            removeDeviceOptionGrid.Enabled     = false;
            removeCommand.Enabled = false;

            if (DefaultRemoveOptions.OnlyConnectedDevices)
            {
                flags = flags | DEIFlags.DICFG_Present;
            }

            try
            {
                mRemoveDialogResult = DialogResult.OK;
                rtfRemoveDeviceStatus.LoggingEnabled = true;
                InfWizardStatus.Log(CategoryType.RemoveDevice, StatusType.Info, "enumerating devices..");
                DeviceSelectionHelper.RemoveDevice(DefaultRemoveOptions, Handle, flags);

                if (DefaultRemoveOptions.DeepClean)
                {
                    DeepClean();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.ToString(), "Device Removal", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                rtfRemoveDeviceStatus.LoggingEnabled = false;
                Cursor = Cursors.Default;
                removeDeviceOptionGrid.Enabled = true;
            }
        }
 public DeviceRemoveInfo(RemoveDeviceForm.RemoveDeviceOptions removeDeviceOptions, DEIFlags flags, IntPtr hwnd) :
     base(flags, hwnd)
 {
     mRemoveDeviceOptions = removeDeviceOptions;
 }
 public DeviceEnumeratorInfo(DEIFlags flags, IntPtr hwnd)
 {
     mHwnd  = hwnd;
     mFlags = flags;
 }
        public static bool RemoveDevice(RemoveDeviceForm.RemoveDeviceOptions removeDeviceOptions,
                                        IntPtr hWnwd,
                                        DEIFlags flags)
        {
            DeviceRemoveInfo deInfo = new DeviceRemoveInfo(removeDeviceOptions, flags, hWnwd);
            EnumerateDevices(deInfo);

            if (deInfo.Removed > 0)
                Wdi.UpdateDriver(removeDeviceOptions.DeviceItem.BuildInfHardwareID());

            return deInfo.Removed > 0;
        }
 public DeviceRemoveInfo(RemoveDeviceForm.RemoveDeviceOptions removeDeviceOptions, DEIFlags flags, IntPtr hwnd)
     : base(flags, hwnd)
 {
     mRemoveDeviceOptions = removeDeviceOptions;
 }
 public DeviceEnumeratorInfo(DEIFlags flags, IntPtr hwnd)
 {
     mHwnd = hwnd;
     mFlags = flags;
 }